【问题标题】:How do I add a watermark to a PDF using PHP and without removing dynamic content?如何在不删除动态内容的情况下使用 PHP 向 PDF 添加水印?
【发布时间】:2016-09-20 17:26:41
【问题描述】:

最近我被分配到一个需要在 PDF 文件的每一页上添加水印的项目。但是,虽然 PDF 始终相同,但 PDF 的水印必须定制,以包含任何下载它的用户的电子邮件。

经过一番挖掘,我找到了 PHP 的 FPDF 和 FPDI 库。这些库让我可以轻松地将自定义水印添加到我的 PDF 文件中,但通过设计它们会导致生成的 PDF 缺少动态内容。原始 PDF 很大,因此需要内部链接以便于导航。由于使用 FPDI 编辑的 PDF 缺少动态内容,因此在 PDF 的水印版本中删除了这些内部链接。

经过更多搜索,我使用 FPDI 库的扩展找到了解决此问题的现有 workaround。但是,该解决方案需要一个非常过时的 FPDI 版本,它在我的网站上似乎无法正常运行。

说了这么多,我的问题是: 除了上述解决方案,是否有任何现有的 PHP 库允许我在不删除原始 PDF 文件的内部链接的情况下向 pdf 文件添加自定义水印?如果需要,我愿意为许可证付费,但希望找到一个价格至少低于 50 美元的解决方案。

【问题讨论】:

  • 您肯定希望该解决方案的价格低于 50 美元吗?除非你只是想扔掉钱? :-D
  • 我认为这个链接会帮助你很多stackoverflow.com/questions/22115180/…
  • @ZearaeZ 在该问题的答案中链接的 PDF 水印明确指出它正在使用 FPDF 和 FPDI。同样,这意味着它不会为我的目的工作。

标签: php pdf


【解决方案1】:

如果您使用自己的 HTML 模板生成 PDF,则可以轻松添加 Image Div 并将此不透明度设置为 0.1,它会将您的图像放置为像水印一样。而且github上也有一个不错的项目。你可以看看这个https://github.com/binarystash/pdf-watermarker

【讨论】:

  • 不幸的是,我没有使用 HTML 模板。我只有一个 pdf 文件可以使用。我真希望我不是!这也意味着 PDF-Watermaker 将无法工作。它使用 FPDF 和 FPDI,通过设计从我的 pdf 中去除动态内容。
【解决方案2】:

这是我想出的解决方案:

以具有成本效益的方式使用 php 编辑 pdf 是不可行的。如果您使用的是单个 pdf,请使用在线服务将其转换为 HTML 文件(有很多),然后使用 php 编辑该文件文档的水印。完成后,使用Prince HTML 之类的服务将该 HTML 文件转换回新加水印的 pdf 以供下载。

【讨论】:

    猜你喜欢
    • 2021-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多