有没有一种方法可以在 Linux 中自动从 HTML 文件生成 PDF 文档,并且该 PDF 与输入文件有某种合理的相似度?
命令行工具(而不是某种交互式 GUI)是关键。
当然,我尝试过htmldoc
一些相关的同类工具。但这些工具完全是石器时代的产物, htmldoc
根本不支持 CSS。如今,你很难找到很多 HTML 文档至少没有一些CSS 样式。我并不真正关心愚蠢的效果或小装饰,但问题是,如今 CSS 是大多数布局的核心;现在很少有人使用 6 层嵌套表格了。因此,如果转换工具完全不懂 CSS,那么就不仅仅是“文档看起来不太对劲”的问题了;它很可能根本达不到最低可用性标准。
有人建议我尝试使用 Gecko 渲染引擎来生成可转换为 PDF 的图像,但我不知道如何做到这一点,更不用说轻松地做到这一点了。
我毫不怀疑有好的商业工具可以做到这一点,但如果可能的话我真的在寻找一个开源软件包,因为这项工作本身就是开源的并且不收费。
提前致谢!
答案1
你见过吗转PDF? 个人无法判断它的效果如何,但它似乎正是您所需要的。唯一的问题可能是,对于此解决方案和任何“浏览器自动化”解决方案,它将选择打印样式表而不是屏幕显示样式表,因此 PDF 可能与您在屏幕上看到的并不完全相同。
答案2
尝试使用 python-beautifulsoup 来使用 chm2pdf。
答案3
XHTML2PDF是一个 Python 工具集,包括命令行脚本和 Python 库(如果您想将其嵌入到更大的东西中而不必使用脚本)。它支持 HTML/XHTML 和 CSS,并带有其他特定于供应商的 CSS 样式来调整格式化的输出(例如页码、段落流等)
我只用过一点点来批量处理一些 HTML 文档,但它工作得很好,而且它的功能集对我来说似乎很全面。手册隐藏在演示页面上,但它本身就是从 HTML 文档转换为 PDF 的一个很好的例子。
我有一组很好的“之前”和“之后”示例的链接,但我才刚刚创建了我的帐户,而且显然只有垃圾邮件发送者才会在他们的第一篇帖子中放置多个链接 :-p
答案4
尝试 dompdf,它在命令行下运行良好,并且根据其示例,它可以与任何类型的 html 一起使用