一旦呈现为 HTML 和 CSS 并考虑 pdf 分页符,就生成 php 页面的一部分的 PDF

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

我正在使用的系统中有一个调查问卷,然后在屏幕上的一个漂亮的报告中显示对管理员的答复。我需要创建将屏幕报告转换为 pdf 的功能,类似于浏览器在您 select 打印时生成页面 pdf 的方式。虽然我只需要将页面的一部分转成pdf。最好能够更改 HTML,这样 pdf 分页符就不会干扰报告的呈现。

您可以下载 pdf 由浏览器功能生成的报告外观。这只是一个示例,我需要通过 link 或按钮生成 pdf,而不包括整个页面(在本例中为顶部)。

我尝试了一些 php HTML 到 pdf 生成器,但这很困难,因为 HTML 是动态生成的,所以我不确定如何发送所有 [=24] =],一旦呈现,到创建 pdf 的页面。

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

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

你可以试试 mpdf and use the page-break-inside: avoid property which is actually a CSS property。我没有用过这个,但它可能是你要找的。

看起来您可以将此 属性 添加到 <div><table> 标签 (mPDF Supported CSS)。

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

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

https://github.com/KnpLabs/snappy