我花了大约3个小时来寻找我的问题的解决方案。我已经浏览了关于我的问题的堆栈溢出问题,但找不到解决方案。
我目前正在尝试做的是使用PHP替换PDF表单域中的文本。PDF文件有一个文本字段,其中包含占位符文本,如占位符。
我想要做的是:
$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时,似乎占位符没有被替换。但是如果我点击文本字段,我的“新值”就会出现。如果我再次敲出“占位符”,则会再次赋值。
正因为如此,我认为这不是我想要的。
我现在的问题是:有没有一种简单有效的方法来实现这一点?我不想使用PDF,而是直接替换我的源PDF中的文本。
发布于 2012-05-28 00:57:45
据我所知,这不是一件简单的事情。最好的解决方案是将该文档作为HTML模板提供给您,您可以使用TCPDF (http://www.tcpdf.org/)等库轻松地将其转换为PDF。
我搜索了一下,发现了两个类似的问题,有一些回答你可能想要看一遍。他们确实提供了一些工具,但肯定不是PHP版本。
Programatically find and replace text in pdf
Programmatically replace text in PDF
HTML模板到PDF的转换将是最好的选择,如果你有固定的模板集,每次你都要用新的值更新它。但是如果你有不同的模板(表单),你必须在值中替换,你应该要求供应商提供某种格式,如果可能的话,你可以很容易地通过编程来处理。
发布于 2022-02-17 10:10:18
这并不像你想的那么简单。如果你有php版本7或5,这可以通过pdftron库来实现。
要安装pdftron库,必须安装swig和cmake。
严格的⚠️和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
正确安装它,否则它将无法工作
https://stackoverflow.com/questions/10775614
复制相似问题