我正在搜索大约3个小时来找到问题的解决方案。我已经浏览了有关我的问题的stackoverflow问题,但找不到解决方案。
我目前要做的是使用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时,似乎没有替换占位符。但如果我进入文本字段,我的“新值”就出现了。如果我再次弹出“[占位符]”再次分配。
由于这个原因,我认为这不适合我的目的。
我现在的问题是:有没有一种简单有效的方法来实现它? 我不想使用FDF,而是替换源PDF中的文本。
答案 0 :(得分:2)
只要我知道这不会很简单。最好的解决方案是将PDF文档作为HTML模板提供给您,您可以使用TCPDF(http://www.tcpdf.org/)等库轻松转换为PDF。
我搜索了一下,发现了两个类似的问题,并且有一些回复你可能想要过去。他们确实提供了一些工具,但肯定不是PHP。
Programatically find and replace text in pdf
Programmatically replace text in PDF
如果您有固定的模板集,并且每次使用新值更新模板时,HTML模板到PDF转换将是最佳选择。但是如果您有不同的模板(表单),您必须在值中替换,您应该要求供应商提供某种格式,如果可能的话,您可以轻松地以编程方式处理。