将CHM文件转换为其他格式

时间:2009-12-28 20:22:11

标签: chm

我需要将chm文件转换为其他格式,最有可能是pdf或html。我已经尝试过chm2pdf和其他转换器,但他们都在转换时做了可怕的工作。即使使用像htmldoc这样的程序也无法很好地转换为html。

有没有办法只打印chm文件的每个页面或拍摄它的图像,然后将该图像保存为pdf或其他格式。

主要原因是chm书籍充满了代码,转换工具没有正确格式化。

6 个答案:

答案 0 :(得分:2)

安装类似Primo PDF的东西,安装虚拟打印机并吐出PDF文件。然后,逐章打印出书(如此处所述 - http://www.helixoft.com/vsdocman-faqs/printing-chm-documentation.html

答案 1 :(得分:2)

如果你只需要在linux上阅读它,xchm(http://xchm.sourceforge.net/)为查看.chm文件提供了不错的原生支持。

答案 2 :(得分:2)

我担心这将是一个多步骤的过程......

  1. 从CHM文件中提取页面,例如使用arCHMage。
  2. 在每页上使用wkhtmltopdf。
  3. 使用类似pdfjoin(来自pdfjam)的内容将文档粘贴在一起。
  4. 这补充了推荐虚拟到PDF打印机的答案,因为它是更具linuxy的命令行解决方案(所有提到的工具都可以在Debian和Ubuntu的软件包库中找到)。选择你的毒药。 ;)

答案 3 :(得分:2)

问题是Windows CHM查看器基本上是MSIE(Internet Explorer)。确切的渲染可能取决于版本。 (对于你可能想要MSIE 6的普通文件)

换句话说,要获得忠实的再现是使用一些提取物(我使用CHMLIB或最近的Free Pascal / Lazarus)来解压缩CHM(这只是一个带有附加索引的html档案),然后开火每个页面的MSIE,并检测它以写入例如虚拟PDF编写器。

这样你就有机会以IE呈现它的方式真正捕获它。 (并希望它对打印机的渲染效果不同于屏幕)。

TOC在.hhc文件中采用XML格式,您可以将其中一个转换为PDF书签树视图。

如果以某种方式从IE中获取“页面”的数量,您甚至可以将索引文件转换为可以添加到PDF的内容,因为您可以确定每个主题的页面。但那是高级班: - )

答案 4 :(得分:1)

这对我有用:

https://cloudconvert.com/chm-to-pdf

还有一个REST API:

  

CloudConvert REST API为您提供了很好的转换文件的可能性,就像您在CloudConvert网站上一样。

如果边框处没有足够的空白区域,您可以将其作为pdf重新打印,并将其调整为例如80%。

答案 5 :(得分:0)

要将chm转换为pdf,您可以尝试以下步骤。

1)单击“打印” 2)选择打印所选标题和所有子主题,然后按确定
3)当仍然显示打印提示时,转到TEMP文件夹(通常是c:\ Documents and Settings \ USERNAME \ Local Settings \ Temp),找到最新文件“~hhSOMETEXT.htm”
4)用Internet Explorer打开.htm文件并打印到PDF

要删除prev和next按钮,您可能需要设置一个样式,例如img {display:none!important;}