4

我需要将 chm 文件转换为另一种格式,很可能是 pdf 或 html。我尝试过 chm2pdf 和其他转换器,但它们在转换方面都做得很糟糕。即使使用像 htmldoc 这样的程序也不能很好地转换为 html。

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

造成这种情况的主要原因是 chm 书籍中充满了代码,而转换工具没有正确格式化任何内容。

4

6 回答 6

3

恐怕这将是一个多步骤的过程......

  1. 从 CHM 文件中提取页面,例如使用 arCHMage。
  2. 在每个页面上使用 wkhtmltopdf。
  3. 使用 pdfjoin(来自 pdfjam)之类的东西将文档粘在一起。

这补充了推荐虚拟 to-PDF 打印机的答案,因为它是更 linuxy 的命令行解决方案(提到的所有工具都可以在 Debian 和 Ubuntu 的软件包存储库中找到)。选择你的毒药。;)

于 2009-12-28T20:29:04.400 回答
2

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

换句话说,要获得忠实的复制,就是使用一些提取器(我使用来自 CHMLIB 的提取器,或者最近使用 Free Pascal/Lazarus)来解压缩 CHM(它只是一个带有附加索引的 html 存档),然后启动 MSIE每个页面,并对其进行检测以写入例如虚拟 PDF 编写器。

这样你就有机会真正捕捉到 IE 呈现它的方式。(并希望它不会以不同的方式呈现给打印机而不是屏幕)。

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

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

于 2010-01-23T13:23:59.590 回答
2

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

于 2009-12-28T20:26:57.837 回答
2

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

于 2009-12-28T20:27:31.533 回答
1

这对我有用:

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

还有一个 REST API:

CloudConvert REST API 为您提供了以与 CloudConvert 网站上相同的方式转换文件的绝佳可能性。

如果边界处没有足够的空白,您可以将其再次打印为 pdf 并将其调整为例如 80%。

于 2015-10-29T17:05:13.237 回答
0

要将 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;}

于 2013-03-25T11:12:22.700 回答