从当前HTML页面创建PDF

3

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

我正在使用基本的Apache服务器,除默认启用的扩展外没有其他扩展,我想从当前页面创建一个PDF文件。

当前页面是通过PHP输出一些变量,但我想从当前页面中显示的HTML和文本创建一个PDF文档。

类似于WHMCS报价系统。


我想避免使用扩展,但作为最后的手段,我会启用一些扩展。 - Daryl Gill
使用类似于http://www.pdflib.com/的PHP库来创建PDF。 - jtheman
你可能需要使用wkhtmltopdf来完成这个任务。它使用Webkit的CSS技术,并支持许多选项,但在服务器上安装有些复杂。 - adeneo
6个回答

3

2
请查看 FPDFTCPDFDomPDF 或其他 PHP PDF 库。如果您只是简单地回显变量,那么 FPDF 非常轻巧,非常适合您。TCPDF 在样式和 CSS 功能方面更接近于 HTML->PDF,但文件大小稍大。它可以用来轻松构建发票并使其外观漂亮。我个人没有使用过 DomPDF,所以不会对其发表评论,但它可以完成工作。请注意保留 HTML 标签。

1

看一下FPDF

它是一个用于在php中生成.pdf文档的免费库。


1
FPDF很棒,但它不能将HTML转换为PDF。 - GolezTrol
我有一个预定义的报价单,使用 HTML 和 CSS 进行样式设置。使用 PHP 从 MYSQL 数据库中提取报价信息,需要创建与精确布局相同的 PDF 文件。 - Daryl Gill
@DarylGill,你没有太多选择。PHP中不包含HTML渲染器。使用样式渲染HTML非常复杂,而且渲染器是高度专业化的代码。一些渲染器可能会在某种程度上呈现HTML,但我对结果并不确定。它不会具有完整Web浏览器的功能。 - GolezTrol

0

我测试过的唯一纯PHP解决方案是mPDF,对于我的目的它表现得非常好。它接受HTML/CSS输入并从中生成PDF。

它需要大量内存,因此您必须增加脚本的内存限制。适用于我的设置是:

ini_set('memory_limit', '1024M');
ini_set('pcre.backtrack_limit', 2000000);

1
所有的PDF库(如TCPDF、mpdf等)都需要大量的内存。因此,如果项目中只需要生成最多5页的简单发票,则可以正常工作。但是,如果需要生成大型PDF文件,则最好使用服务器端生成,例如wkhtmltopdf。 - DTukans

0

0

您也可以查看dompdf。它可以从HTML创建PDF!它可能更适合您的要求,但我个人更喜欢FPDF(CSS有时会让我对domdf感到疯狂:-))


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接