6

我搜索了大约 3 个小时来找到解决问题的方法。我已经浏览了有关我的问题的 stackoverflow 问题,但找不到解决方案。

我目前正在尝试做的是使用 PHP 替换 PDF 表单字段中的文本。PDF 文件有一个文本字段,其中包含 [placeholder] 之类的占位符文本。

我试图做的是:

$pdf_content = file_get_contents(source_pdf.pdf);
$put = str_replace('[placeholder]', 'NEW VALUE', $pdf_content);
file_put_contents('temp_pdf/test.pdf', $put);

当我打开 PDF 时,占位符似乎没有被替换。但是,如果我点击文本字段,我的“新值”就会出现。如果我再次点击“[占位符]”再次分配。

因此,我认为这不是我的目的的正确尝试。

我现在的问题是:有没有一种简单有效的方法来实现这一点?我不想使用 FDF,而是替换源 PDF 中的文本。

4

2 回答 2

3

只要我知道这不会是简单的。最好的解决方案是将 PDF 文档作为 HTML 模板提供给您,您可以使用诸如 TCPDF ( http://www.tcpdf.org/ ) 之类的库轻松地将其转换为 PDF。

我搜索并发现了 2 个类似的问题,并且您可能想要查看一些回复。他们确实提供了一些工具,但肯定不在 PHP 中。

以编程方式查找和替换 pdf 中的文本

以编程方式替换 PDF 中的文本

如果您有一组固定的模板并且每次您要使用新值更新它,HTML 模板到 PDF 的转换将是最佳选择。但是,如果您有不同的模板(表单)需要替换值,那么您应该要求供应商提供某种格式,如果可能的话,您可以轻松地以编程方式处理这些格式。

于 2012-05-27T16:57:44.740 回答
1

这并不像你想的那么简单。如果您有 php 版本 7 或 5,这可以通过 pdftron 库实现。

要安装 pdftron 库,您必须安装 swig 和 cmake。

⚠️严格的 PHP 和 SWIG 版本兼容性

带有开发人员扩展和SWIG 3.0.12的 PHP7

带有开发人员扩展和SWIG 2.0.4 - 2.0.12的 PHP5

CMake版本 ≥ 2.8

这是从 pdf 替换文本的示例。 https://www.pdftron.com/documentation/samples/php/ContentReplacerTest

正确安装,否则将无法正常工作

于 2022-02-17T10:10:18.150 回答