如何将HTML和CSS添加到PDF中[已关闭]

2022-08-30 05:43:42

我有一个HTML(不是XHTML)文档,在Firefox 3和IE 7中呈现良好。它使用相当基本的CSS来设置它的样式,并在HTML中呈现得很好。

我现在正在寻找一种将其转换为PDF的方法。我试过:

  • DOMPDF:它在表格方面存在巨大问题。我分解了我的大型嵌套表,它有所帮助(在它刚刚消耗高达128M的内存然后死亡之前 - 这是我在php中对内存的限制.ini),但它使表变得一团糟,似乎无法获得图像。表格只是基本的东西,有一些边框样式,可以在不同的点上添加一些线条;
  • HTML2PDF和HTML2PS:实际上,我在这方面运气更好。它渲染了一些图像(所有图像都是Google图表URL),表格格式要好得多,但它似乎有一些复杂性问题,我还没有弄清楚,并且一直死于未知的node_type()错误。不知道从这里去哪里;和
  • Htmldoc:这似乎在基本的HTML上工作得很好,但几乎不支持CSS,所以你必须在HTML中做所有事情(我没有意识到它在Htmldoc-land中仍然是2001年......),所以它对我来说是无用的。

我尝试了一个名为Html2Pdf Pilot的Windows应用程序,它实际上做得很好,但我需要一些至少在Linux上运行的东西,理想情况下通过Web服务器上的PHP按需运行。

我错过了什么,或者我该如何解决此问题?


答案 1

看看 wkhtmltopdf 。它是开源的,基于webkit和免费的。

我们在这里写了一个小教程。

编辑( 2017 ):

如果今天要建造一些东西,我不会再走那条路了。
但会改用 http://pdfkit.org/
可能剥离它的所有nodejs依赖项,以便在浏览器中运行。


答案 2

重要:请注意,这个答案是在2009年写的,它可能不是2019年今天最具成本效益的解决方案。今天的在线替代品在这方面比当时更好。

以下是您可以使用的一些在线服务:


看看PrinceXML

它绝对是最好的HTML / CSS到PDF转换器,尽管它不是免费的(但是嘿,你的编程可能也不是免费的,所以如果它节省了10个小时的工作,你就可以免费回家了(因为你还需要考虑到替代解决方案将要求你设置一个专用服务器与正确的软件)

哦,是的,我有没有提到这是第一个(也可能是唯一一个)执行完整ACID2的HTML2PDF解决方案?

PrinceXML Samples


推荐