我需要将 chm 文件转换为另一种格式,很可能是 pdf 或 html。我尝试过 chm2pdf 和其他转换器,但它们在转换方面都做得很糟糕。即使使用像 htmldoc 这样的程序也不能很好地转换为 html。
有没有办法只打印 chm 文件的每一页或拍摄它的图像,然后将该图像保存为 pdf 或其他格式。
造成这种情况的主要原因是 chm 书籍中充满了代码,而转换工具没有正确格式化任何内容。
我需要将 chm 文件转换为另一种格式,很可能是 pdf 或 html。我尝试过 chm2pdf 和其他转换器,但它们在转换方面都做得很糟糕。即使使用像 htmldoc 这样的程序也不能很好地转换为 html。
有没有办法只打印 chm 文件的每一页或拍摄它的图像,然后将该图像保存为 pdf 或其他格式。
造成这种情况的主要原因是 chm 书籍中充满了代码,而转换工具没有正确格式化任何内容。
恐怕这将是一个多步骤的过程......
这补充了推荐虚拟 to-PDF 打印机的答案,因为它是更 linuxy 的命令行解决方案(提到的所有工具都可以在 Debian 和 Ubuntu 的软件包存储库中找到)。选择你的毒药。;)
问题是 Windows CHM 查看器基本上是 MSIE(Internet Explorer)。确切的渲染可能取决于版本。(对于您可能需要 MSIE 6 的平均文件)
换句话说,要获得忠实的复制,就是使用一些提取器(我使用来自 CHMLIB 的提取器,或者最近使用 Free Pascal/Lazarus)来解压缩 CHM(它只是一个带有附加索引的 html 存档),然后启动 MSIE每个页面,并对其进行检测以写入例如虚拟 PDF 编写器。
这样你就有机会真正捕捉到 IE 呈现它的方式。(并希望它不会以不同的方式呈现给打印机而不是屏幕)。
TOC 在 .hhc 文件中采用 XML 格式,您可以将其中一个转换为 PDF 书签树形视图。
如果您以某种方式从 IE 中获取“页面”的数量,您甚至可以将索引文件转换为可以添加到 PDF 中的内容,因为您可以确定每个主题在哪个页面上。但这是针对高级课程的:-)
安装 Primo PDF 之类的东西,它会安装虚拟打印机并输出 PDF 文件。之后,逐章打印出这本书(如此处所述 - http://www.helixoft.com/vsdocman-faqs/printing-chm-documentation.html)
如果您只需要在 linux 上阅读它,xchm ( http://xchm.sourceforge.net/ ) 为查看 .chm 文件提供了不错的原生支持。
这对我有用:
https://cloudconvert.com/chm-to-pdf
还有一个 REST API:
CloudConvert REST API 为您提供了以与 CloudConvert 网站上相同的方式转换文件的绝佳可能性。
如果边界处没有足够的空白,您可以将其再次打印为 pdf 并将其调整为例如 80%。
要将 chm 转换为 pdf,您可以尝试以下步骤。
1) 单击打印
2) 选择打印选定的标题和所有子主题,然后按确定
3) 当打印提示仍然显示时,转到您的 TEMP 文件夹(通常为 c:\Documents and Settings\USERNAME\Local Settings\Temp ),然后找到最新的文件 "~hhSOMETEXT.htm"
4) 用 Internet Explorer 打开 .htm 文件并打印成 PDF
要删除上一个和下一个按钮,您可能需要设置一种样式,例如 img{display:none!important;}