2012-05-27 80 views
3

我在搜索大約3小時以找到解決問題的方法。我已經瀏覽了關於我的問題的stackoverflow問題,但找不到解決方案。如何使用PHP替換PDF表單字段中的文本

我目前正在嘗試做的是使用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似乎佔位符不更換。但是如果我敲入文本框,就會出現「新值」。如果我再次彈出「[placeholder]」,則再次分配。

由於這一點,我認爲這不是我的目的正確的嘗試。

我現在的問題是:是否有一個簡單而有效的方法來實現這一點? 我不想使用FDF,而是在我的源代碼PDF中替換文本。

+0

這將是非常聰明的解決方案。故事如何結束?你是否用PDF編輯文本? – Digerkam

回答

2

只要我知道這不會很簡單。最好的解決方案是將該PDF文檔作爲HTML模板提供給您,您可以使用類似TCPDF的庫(http://www.tcpdf.org/)輕鬆地將其轉換爲PDF。

我搜索了一遍,發現了2個這樣的類似問題,並有一些你可能想要回答的問題。他們確實提供了一些工具,但這當然不在PHP中。

Programatically find and replace text in pdf

Programmatically replace text in PDF

HTML模板轉換爲PDF將是最好的選擇,如果你有固定的每一個你要與新值更新時間模板設置和。但是,如果你有不同的模板(表單),你必須在值中替換,你應該要求供應商提供某種格式,如果可能的話,你可以通過編程方式輕鬆處理。

+0

你好Dharmavir。不幸的是,這種解決方案並不適合我。 客戶可以上傳自己的PDF文件。要將文本替換爲腳本,只需將[佔位符]放入要處理的每個PDF文件中即可。所以沒有固定的模板不幸的是 – thpl

+0

好吧我明白了。你可以讓他們以任何其他格式上傳文件嗎?如果可能的話。 – Dharmavir

+0

不幸的是,這僅限於pdf文件。這是我公司希望我製作的工具,這些都是限制條件。 – thpl

相關問題