使用PHP将HTML转换为PDF?

Converting HTML to PDF using PHP?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Convert HTML + CSS to PDF with PHP?

是否可以使用PHP将HTML页面转换为PDF,如果可以,如何完成?

具体来说,该页面是动态生成的发票。所以我想用以下方法加载它:

1
http://example.com/invoices/3333

HTML输出必须转换为PDF格式。

任何好的图书馆都可以做到这一点。


如果您希望从PHP创建一个PDF,pdflib将帮助您(正如一些其他人建议的那样)。

否则,如果您想通过PHP将HTML页面转换为PDF,您会发现这里有点麻烦。三年来,我一直在尽力做到最好。

所以,我知道的选择是:

dompdf:php类,它包装HTML并构建PDF。工作良好,可定制(如果你知道PHP),基于pdflib,如果我记得对的话,甚至需要一些CSS。坏消息:当HTML很大或很复杂时会变慢。

html2ps:与domdpdf相同,但这个文件首先转换为.ps(ghostscript)文件,然后转换为您需要的任何格式(pdf、jpg、png)。对我来说,虽然不如domdpdf好,但速度问题是一样的。但是,与CSS的兼容性更好。

这两个是PHP类,但是如果您可以在服务器上安装一些软件,并通过t passthrou()或system()访问它,那么也可以查看以下内容:

wkhtmltopdf:基于webkit(safari的包装),非常快速和强大。似乎这是将HTML页面动态转换为PDF的最佳方法(ATM);使用CSS2的3页XHTML文档只需2秒钟。无论如何,这是一个最近的项目,google.code页面经常被更新。

HTMLDOC:这是一辆坦克,它从来没有真正停下来/撞车。该项目自2007年以来似乎已不复存在,但无论如何,如果您不需要CSS兼容性,这对您来说可能是件好事。


TCPDF呢?

有很多特性,使用它的一个优点是可以将HTML动态转换为PDF


我个人并不信任那些免费提供的服务。您可以下载以下应用程序:http://www.tufat.com/script19.htm


还有一个做傻事的:html2pdf


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

获取HTML输入字符串并返回PDF字符串。

它不是浏览器级别的质量,也存在CSS问题,但对于简单的文本文档来说,它已经足够好用了。


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


PHP类的问题是Afaik 2:

  • speed:php需要很长时间来解析HTML结构,并用pdflib将其转换为pdf格式
  • 可靠性:当新的CSS或样式属性出现时,如何保持脚本更新?多少时间?
  • 我认为进行准确转换的唯一方法是使用浏览器包装,因为对于定义来说,总是更好的HTML阅读器。

    我建议另一个比较链接:link我在那里读到了wkhtmltopdf……把所有的评论都读一遍,还有很多其他的方法…


    是的,当然。

    您可以购买现成的解决方案,这些解决方案将接受HTML输入并为您转换eh文件。

    还有一个常见的pdflib,您可以使用php生成PDF,但它要求您通过设置页面上的所有元素手动创建它们。

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