2

我当前的应用程序要求我将文档(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 来实现这一点?

4

4 回答 4

3

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

于 2013-04-03T00:33:47.730 回答
0

我用来用 PHP 处理 PDF 的库是TCPDF。它是开源的,您可以使用 HTML 来设置 PDF 样式(无论如何是 HTML 的子集),处理诸如页面之类的事情。我相信您应该能够在 TCPDF 中执行您需要的所有功能。

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

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

于 2013-03-30T11:58:48.660 回答
0

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

如果您使用此类库,只需制作 HTML 模板(此外,DomPDF 支持在 html 模板中执行 PHP)并玩得开心;)

于 2013-04-05T08:36:26.830 回答
0

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

所以我现在要做的是,

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

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

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

  1. 使用 LibreOffice 转换为 PDF 和
  2. 添加首页,使用 FPDI 导入并添加页脚和水印
于 2013-04-05T08:04:37.780 回答