【发布时间】:2011-05-06 13:56:12
【问题描述】:
我想知道是否有关于如何使用 PDFLib for PHP 构建表格的良好资源。我计划用一个数据库表填充一个 PDF 文档(我将其中的几个连接在一起以创建一个新视图),我想让它成为一个用于 Web 的 PDF 文档。我一直在搜索,除了如何使用它创建表格之外,我发现了有关 PDFLib 的大量信息。
我已经查看了 PHP.net 上的 PDFLib 命令,但也不太清楚需要什么。
【问题讨论】:
我想知道是否有关于如何使用 PDFLib for PHP 构建表格的良好资源。我计划用一个数据库表填充一个 PDF 文档(我将其中的几个连接在一起以创建一个新视图),我想让它成为一个用于 Web 的 PDF 文档。我一直在搜索,除了如何使用它创建表格之外,我发现了有关 PDFLib 的大量信息。
我已经查看了 PHP.net 上的 PDFLib 命令,但也不太清楚需要什么。
【问题讨论】:
过去我曾多次使用 PDF 生成,但通常发现它是一个巨大的痛苦。
PDFLib 的文档http://www.pdflib.com/fileadmin/pdflib/pdf/manuals/PDFlib-8.0.2-tutorial.pdf 开始在第 193 页的第 8.2 节中解释您要查找的内容。您将创建多行流。那里的代码看起来很吓人,但需要一些时间来完成它,它非常接近您最终将使用的代码。
我以后也许能找到一些代码,但我忘记了我使用的是什么库。现在有一些提示:
更新 我找到了我最近的代码迭代,我们使用了来自http://www.tcpdf.org 的库。它大部分都有效。在将多行文本写入页面后,我处理了光标所在位置的许多不一致问题。我最终撕掉了任何使用他们的多行代码并编写自己的代码。这样做很容易使用。
【讨论】:
PDFlib 中的表格处理极其困难。表格可以工作,但是如果您有多个表格相互叠置,并且希望下面的一个表格始终与上表格的底线保持一定距离,或者想要使用嵌套表格,那么您就有麻烦了。可以做出这些类似的行为,但代码很复杂。为什么 pdflib 团队没有采用 html 表格的使用行为,它们在两个世纪以来一直运作良好。
由于 html 表格易于使用,一个好方法是使用phantomJS 从 html 生成 pdf。 PhantomJS 使用 webkit 进行页面渲染,支持 html5+css3+svg+canvas。并且除了pdf,还可以输出png、jpeg、gif。
以下是使用 phantomJS 生成 PDF 发票的示例: http://we-love-php.blogspot.fi/2012/12/create-pdf-invoices-with-html5-and-phantomjs.html
【讨论】: