Generate a PDF from a CHM

I have seen many questions about PDF printers around, and I am already using a PDF printer (Bullzip PDF printer).

But I can't use a PDF printer to print entire CHM files to PDF. I am using the default CHM viewer in Windows. All I can do is print an entire topic, or an entire subtopic. Is there some easy way I can get all the topics into a PDF, preferably something that doesn't involve me printing each topic separately and then somehow merging them?


Converting on Linux

use chm2pdf

On windows

  1. First off, open up CHM Decoder.
  2. In the Open File tab, click the Open button and select the CHM you want to convert.
  3. Click the Decode tab. Append a directory name to the one it selected. It’ll create a new directory. It doesn’t matter what value

Now comes the tricky part. In chm2pdf, it keeps track of the ordering of the HTML files. You lose the ordering here and have to reconstruct it by hand. The difficulty here varies from book to book. Keep the CHM file open in one window so you can peek at the Table of Contents.

Now fire up HTMLDOC.

  1. You’ll be greeted by the Input tab first. Make sure that the Document Type is set to Book.
  2. Click on the “Add Files…” button and find the table of contents file, usually called toc.html. Add it first.
  3. Click “Add Files…” again. You’ll need to add the files in order here. Only add HTML files, don’t worry about images, they’ll get converted. See screenshots below. It may be as easy as shift-selecting the entire thing, or you might have to add chapter by chapter.
  4. Click the Output tab. Select the PDF radio button in Output format. Click the Browse button on Output path, browse to where you want the pdf to go, type in a name and click OK.
  5. Click on the Page tab. Check that the margins are okay. Generally Universal works since CHM files are usually easy to reflow.
  6. Click on the PDF tab. Select PDF version 1.4 (Acrobat 5.0.) For first page, select TOC.
  7. Click the Generate button.

Source :http://imaddicted.ca/guides/eslick/chm/