我需要将chm文件转换为其他格式,最有可能是pdf或html。我已经尝试过chm2pdf和其他转换器,但他们都在转换时做了可怕的工作。即使使用像htmldoc这样的程序也无法很好地转换为html。
有没有办法只打印chm文件的每个页面或拍摄它的图像,然后将该图像保存为pdf或其他格式。
主要原因是chm书籍充满了代码,转换工具没有正确格式化。
答案 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)
我担心这将是一个多步骤的过程......
这补充了推荐虚拟到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;}