转换 PDF 并添加首页、页脚和水印
Posted
技术标签:
【中文标题】转换 PDF 并添加首页、页脚和水印【英文标题】:Converting PDF and adding a Front Page, footer and watermark 【发布时间】:2013-03-26 10:24:20 【问题描述】:我当前的应用程序要求我将文档(doc、excel、ppt、图像等)转换为 PDF。它还需要添加一个包含多个信息(变量)的首页,并为转换后的文档添加页脚。它可能还需要添加文本或徽标图像作为水印。
我已经能够使用 LibreOffice 将文档转换为 PDF。我生成了一个静态 pdf,我可以使用 PDFtk
将它与转换后的文档合并但我需要动态生成首页,因为对于每个文档,一些信息会发生变化。我想使用 FPDF 生成首页,使用 libreoffice 转换并使用 PDFtk 合并它。但同样,它需要添加页脚和可能的水印。我认为水印可以通过 PDFtk 完成。 FPDF可以生成页脚。
所以整个过程会是这样的:
使用 FPDF 创建首页并保存 pdf 使用 LibreOffice 将 Doc 转换为 PDF 为转换后的 PDF 添加页脚并使用 FPDF 存储 使用 FPDF 生成带水印的 PDF(可能) 使用 PDFtk 合并以上三个 pdf我想我做的处理太多了。有没有更简单的方法来实现这一点?有没有其他方法可以用更少的资源/第三方应用程序/lib 来实现这一点?
【问题讨论】:
【参考方案1】:如果您对商业许可软件持开放态度,PDFLib+PDI 将处理您需要的所有任务(转换为 PDF 后)。它在大多数服务器环境中以原生方式运行,性能通常非常好。
【讨论】:
是的,我对商业产品持开放态度,只要成本不太高。这个产品看起来很有帮助,但问题是,在我花了那么多钱之后,我会在处理方面得到多大的提升。 至于渲染简单的文本,它不应该有任何区别,但根据我的经验,它在渲染图形(矢量和其他)、合并和对繁重的文档进行操作时也非常快。我想您可以尝试免费版本 (PDFlib Lite) 在您的系统上进行一些简单的性能基准测试... 正如我在问题中提到的,大部分处理将是放置首页、放置页脚文本并可能放置图章或水印。我会试试这个东西。【参考方案2】:我用 php 处理 PDF 的库是 TCPDF。它是开源的,您可以使用 html 来设置 PDF 样式(无论如何是 HTML 的子集),处理诸如页面之类的事情。我相信您应该能够在 TCPDF 中执行您需要的所有功能。
为了处理图像处理,您可能需要添加水印等,我使用了GD,它提供了许多用于处理图像的函数。如果您需要一些更复杂的图像处理,您可能还想查看imagemagick。
所有这些都应该简化您的工作流程,并允许您直接在 PHP 和 HTML 中完成大部分您需要的工作。
【讨论】:
只是不确定 TCPDF 将如何减少我需要做的总处理。 除了转换 doc 文件之外,您应该能够使用 TCPDF 完成您所要求的一切 我可以导入现有文档吗?或者我必须为此使用 FPDI? 我不记得了,TCPDF 网站上有很多文档。导航有点困难,但文档很好。【参考方案3】:为了减少我需要做的不同事情的数量,我将简单地使用 FPDI 库。
所以我现在要做的是,
将文档转换为 PDF 格式 使用 FPDI(扩展 TCPDF 并使用它的功能)创建首页 然后我将使用 FPDI 的导入功能导入转换后的文档 我还会同时添加水印和页脚所以我最终会消除 PDFtk 的使用,并减少使用的库数量和需要单独完成的不同活动。
这些事情只会在两个活动中完成:
-
使用 LibreOffice 和 转换为 PDF
添加首页,使用 FPDI 导入并添加页脚和水印
【讨论】:
【参考方案4】:我还没有测试过,但是DomPDF 看起来是一个不错的项目。 我之前用过HTML2PDF,但它不再更新,所以继续前进。
如果您使用此类库,只需制作 HTML 模板(此外,DomPDF 支持在 html 模板中执行 PHP)并玩得开心;)
【讨论】:
但是,对于导入 PDF,我必须依赖其他东西,不是吗? TCPDF 是你的好孩子(这也是我喜欢 HTML2PDF 的原因,它建立在 TCPDF 之上) 不是正在开发中吗? 确实,它是......从 2011 年开始。我想你不能指望它,抱歉误导:/FPDI 是不错的选择,正如你所说。以上是关于转换 PDF 并添加首页、页脚和水印的主要内容,如果未能解决你的问题,请参考以下文章