使用PHP将HTML转换为PDF?

可能重复:
使用PHP将HTML + CSS转换为PDF?

是否有可能使用PHP将HTML页面转换为PDF,如果可以,怎么办?

具体而言,该页面是dynamic生成的发票。 所以我想用它加载:

http://example.com/invoices/3333 

而HTML输出将不得不转换为PDF。

任何一个好的库都可以。

如果你想从PHP 创build PDF,pdflib将帮助你(如其他一些人所build议的)。

否则,如果你想通过PHP HTML页面转换为PDF,你会发现这里有点麻烦.. 3年来,我一直在尽我所能地做到这一点。

所以,我知道的选项是:

DOMPDF :包装html并构buildpdf的php类。 工作好,可定制(如果你知道的PHP),基于pdflib,如果我记得正确,它甚至需要一些CSS。 坏消息:当html很大或很复杂的时候会很慢。

HTML2PS :与DOMPDF相同,但是这个首先转换成.ps(ghostscript)文件,然后转换成你需要的格式(pdf,jpg,png)。 对我来说,比dompdf好一点,但是速度问题一样 。但是,与CSS的兼容性更好。

这两个是php类,但是如果你可以在服务器上安装一些软件,并通过passthru()或system()来访问它,也可以看看这些:

wkhtmltopdf :基于webkit(safari的包装),真的很快,function强大..似乎这是最好的一个(atm)的HTML页面转换为PDF在飞行; 对于一个3页的xHTML文档,CSS2只需要2秒。 这是一个最近的项目,无论如何,google.code页面经常更新。

htmldoc :这是一个坦克,它从来没有真正停止/崩溃..该项目看起来自2007年以来,但无论如何,如果你不需要CSS兼容性,这可以为你很好。

那么TCPDF呢?

有很多的function,并使用它的优势之一,您可以转换为PDF格式的HTML

我个人不相信所有这些免费提供的服务。 这里是一个可以下载的应用程序: http : //www.tufat.com/script19.htm

你可以使用PDFlib 。 在php.net上有一个关于如何使用它的文档。 唉,如果你不购买PDFlib的许可证,你必须忍受一个相当突兀的水印。

dompdf: https : //github.com/dompdf/dompdf

需要一个htmlinputstring并返回pdfstring。

它不是浏览器级别的质量,并与CSS的问题,但它对于简单的文本文件足够好。

是的,一点没错。

有现成的解决scheme,您可以购买,将接受一个HTMLinput,并为您转换呃文件。

还有一个通用的PDFLib可以用来使用PHP生成PDF,但是需要通过设置页面上的所有元素来手动创build它们。

这是我用过的另一个非常好的

这也是一个goog工作: html2pdf

与PHP类的问题是AFAIK 2:

  1. 速度:PHP需要很长的时间来parsingHTML结构, 并将转换成 pdf与pdflib
  2. 可靠性:当一个新的CSS或风格属性会来,如何保持脚本更新? 多less时间?

我认为唯一的方法就是使用一个浏览器包装器,因为它的定义总是更好的html阅读器。

我build议另一个链接,比较一下: LINK这是我阅读wkhtmltopdf的地方..给所有的评论也阅读,许多其他的方式在那里…