转换PDF并添加Front Page,footer和watermark

时间:2013-03-26 10:24:21

标签: php pdf document fpdf libreoffice

我当前的应用程序要求我将文档(doc,excel,ppt,image等)转换为PDF。它还需要添加包含多个信息(变量)的首页,并为转换后的文档添加页脚。它可能还需要添加文本或徽标图像作为水印。

我已经能够使用LibreOffice将文档转换为PDF。我生成了一个静态pdf,我可以使用 PDFtk

将其与转换后的文档合并

但我需要动态生成首页,因为对于每个文档,一些信息都会发生变化。我想过使用FPDF生成首页,用libreoffice转换并使用PDFtk合并它。但同样,它需要添加页脚和可能的水印。我认为水印可以通过PDFtk完成。页脚可以由FPDF生成。

所以整个过程看起来像这样:

  • 使用FPDF创建首页并保存pdf
  • 使用LibreOffice将文档转换为PDF
  • 将页脚添加到已转换的PDF并使用FPDF存储
  • 使用FPDF(可能)生成带水印的PDF
  • 使用PDFtk
  • 合并上述三个pdf

我想我正在做太多的处理。有没有更简单的方法来实现这一目标?有没有其他方法可以用较少的资源/第三方应用程序/ lib实现这一目标?

4 个答案:

答案 0 :(得分:3)

如果您对商业许可软件持开放态度,PDFLib+PDI将处理您需要的所有任务(转换为PDF后)。它在大多数服务器环境中本机运行,通常具有非常好的性能。

答案 1 :(得分:0)

我以前使用PHP处理PDF的库是TCPDF。它是开源的,您可以使用HTML来设置PDF的样式(无论如何都是HTML的一个子集),处理页面等内容。我相信你应该能够在TCPDF中执行你需要的所有功能。

为了处理你可能需要进行水印等操作的图像,我使用GD提供了许多操作图像的功能。如果您需要更复杂的图像处理,您可能还需要查看imagemagick

所有这些都应该简化您的工作流程,并允许您直接在PHP和HTML中完成所需的大部分工作。

答案 2 :(得分:0)

为了减少我需要做的不同事情的数量,我将简单地使用FPDI库。

所以我现在要做的是,

  • 将文档转换为PDF格式
  • 使用FPDI创建首页(扩展TCPDF并使用它的功能)
  • 然后我将使用FPDI的导入功能
  • 导入转换后的文档
  • 我还会同时添加水印和页脚

因此,我将最终消除PDFtk的使用,减少所用库的数量以及需要单独完成的不同活动。

这些事只能在两个活动中完成:

  1. 使用LibreOffice和
  2. 转换为PDF
  3. 添加首页,导入并使用FPDI添加页脚和水印

答案 3 :(得分:0)

我还没有测试过,但DomPDF看起来很不错。 我之前使用的是HTML2PDF,但它不再更新,所以继续前进。

如果您正在使用此类库,只需制作HTML模板(此外,DomPDF支持在html模板中执行PHP)并享受乐趣;)