Thursday, February 22, 2007

Printing a Compiled Help File (.CHM)

Many SDKs ship with a huge .CHM file that includes the documentation and often a class library reference. Also, many books are available as .CHM files as well. But since I prefer to read those books off-line, I often try to print out topics. Since the introduction of Internet Explorer 7, this has become quite problematic. IE has a new Shrink-to-Fit setting that is enabled by default. Due to that, printing a .CHM often results in an unreadable small font. Using IE's Print Preview option you can choose the exact scaling settings, but unfortunately, this setting is not available from the Html Help Viewer. To work around this limitation do the following:

  1. Open up the CHM file in the Html Help viewer
  2. Select the topic you want to print and choose Print... from the context menu
  3. From the dialog box, select Print the Selected Heading and all Topics.
  4. Wait for the Print dialog to appear. Now look behind that dialog for another window called HTML Help. The help viewer basically renders all those topics into one big .htm for printing.
  5. Select Properties from that window's context menu and copy the URL pointing at a local .htm file. DO NOT CLOSE THE HTML HELP WINDOW.
  6. Now open up that URL in a new IE window.
  7. Choose Print Preview and change the scaling setting to whatever suits you and print...