我有一个HTML(而不是XHTML)文档,可以在Firefox3和IE7中显示良好。它使用相当基本的CSS来设置样式,并在HTML中呈现良好的效果。

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

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

我尝试了一个名为Html2Pdf Pilot的Windows应用程序,它确实做得很好,但我需要至少在Linux上运行,最好通过Web服务器上的PHP按需运行的应用程序。

我缺少什么,或者如何解决这个问题?


当前回答

最初在开场白中提到的HTML2PDF和HTML2PS是在谈论2009年的一个带有此链接的包

但还有更好的HTML2PDF

它是基于TCPDF的,尽管部分是法语。

您可以有在页面上重复的页眉或页脚,并有页码和总页数。参见其示例。我已经使用它三年多了,并推荐它。

其他回答

这个问题已经很老了,但还没有人提到CutyCapt,所以我会:)

可爱的卡通

CutyCapt是一个小型的跨平台命令行实用程序,用于捕获WebKit将网页呈现为各种矢量位图格式,包括SVG、PDF、PS、PNG、JPEG、TIFF、GIF和BMP

好消息!精炼的

Snappy是一个非常简单的开源PHP5库,允许从url或html页面生成缩略图、快照或PDF。和它使用了优秀的基于webkit的wkhtmltopdf

享受^_^

Darryl Hein在上面提到TCPDF可能是一个好主意。Nicola Asuni的代码非常方便和强大。唯一的杀手是,如果你计划将PDF文件与生成的PDF合并,那么它就没有这些功能。您必须创建PDF,然后使用Sid Steward的PDFTK(www.pdflabs.com/tools/PDFTK the PDF toolkit/)进行合并。

我已经为PHP尝试了很多不同的库。我尝试过的所有列表。在我看来,TCPDF库是最佳的性能/可用性折衷方案。它的安装和使用非常简单,在中小型应用中也具有良好的性能。如果您需要高性能和非常大的PDF文档,请使用Zend_PDF模块,但要做好编码的准备!

我开发了一个公共API来从网页构建PDF文件。它有一个很好的PHP客户端类,使用起来非常简单。它使用wkhtmltopdf在云中渲染PDF。

不需要HTML中的任何特殊内容。在images/css/js链接中不需要绝对URL。也可以在本地主机(开发机器)上工作。

目前,该服务在4个Azure地区拥有端点:美国东部、美国西部、欧盟北部和东南亚。

它很快,因为它使用专有协议将网页内容发送到API以转换为PDF。

它是可靠的,因为所有端点都是负载平衡的。

免费帐户可用于测试或低使用率。网站上的详细信息:

https://rotativahq.com