将php页面的一个部分渲染为HTML和CSS后生成PDF,并考虑PDF分页符


Generate PDF of a section of a php page once rendered into HTML and CSS and account for pdf page-breaks

我正在处理的系统中有一份问卷,然后在屏幕上的一份漂亮的报告中显示对管理员的回答。我需要创建将屏幕上的报告转换为pdf的功能,类似于当您选择打印时浏览器如何生成页面的pdf。虽然我只需要把页面的一部分变成pdf。最好是能够更改HTML,这样pdf页面中断就不会干扰报告的呈现。

您可以下载由浏览器功能生成的报告外观的pdf文件。这只是一个例子,我需要通过链接或按钮生成pdf,而不包括整个页面(在这种情况下是顶部)。

我尝试过一些php HTML到pdf生成器,但这很困难,因为HTML是动态生成的,所以我不知道如何在渲染后将所有HTML发送到创建pdf的页面。

为了克服分页符问题,我考虑使用javascript或jquery读取报告中每个问题的div的高度,然后编写一个简单的脚本来计算下一个div是否适合页面,如果不适合,则在该div的顶部添加一个边距,以便在新页面上开始。

考虑到这些要求,我可以使用什么软件来生成pdf?php或javascript。感谢您的帮助。

您是否考虑过Snappy for PHP?它使用幕后的wkhtmltopdf将任何HTML文档转换为PDF。

我们正在使用它,而且效果很好。

https://github.com/KnpLabs/snappy

您可以尝试mpdf并使用page-break-inside: avoid属性,它实际上是一个CSS属性。我没有用过这个,但它可能正是你想要的。

看起来您可以将此属性添加到<div><table>标记中(mPDF支持的CSS)。