2011-02-04 67 views
0

我必須製作具有相同設計但名稱不同的多個證書。所以我試着用一個佔位符文本製作一個未壓縮的pdf文件,並嘗試用文本編輯器對其進行更改。由於某種原因,它不起作用。我只能看到替換文字的單個字母。如何更改pdf中的文本框的值

當我試着使用EPS文件同樣的事情,它的工作原理,但由於EPS不保留(據我所知)頁面方向,有一個機會,這東西會隨着不同的名稱不同。

有誰知道爲什麼沒有工作或如何改變在PDF文件中的文本框(與SED)?

(我創建的主PDF使用Illustrator CS4)

謝謝

+0

請發佈您嘗試過的內容以及字符串應該是之前和之後的內容。 – 2011-02-04 00:29:21

回答

0

一般來說,在一個文本編輯器中編輯的PDF文件是一個壞主意。 PDFs依賴於不移動的各種對象的字節偏移量。

如果你知道你的編輯器不會改變EOL字節(或者它認爲的是EOL字節),並且你不改變整個文本條目對象的長度,那麼你沒問題。

例如:

1 0 obj
<</Type/Annotation/Subtype/Widget/V(PlaceHolder Value)/T(Field Title)...>>
endobj

如果新的值大於 「佔位符值」 時間越長,你就完蛋了。

大多數PDF包含相當多的壓縮二進制數據。部分數據將被誤解爲EOL字符。改變它們會:
一個:打破你的壓縮數據流
B:可能更改PDF其餘的字節偏移。

當我破解PDF文件,我總是使用十六進制編輯器。

底線:不要亂用PDF文件爲文本流。使用PDF庫將其與PDF文件混淆在一起。肯定會有一個能夠改變你選擇的語言的表格字段值。

您還可以查看到FDF和XFDF,看看他們是否會更適合你。這兩種文件格式均存儲字段/值對,並使用與這些對一起使用的表單的引用。 FDF使用PDF的語法,而XFDF是一種XML語法。您可以向最終用戶提供[X] FDF,他們將看到填好的表格。

警告:除非表單是Reader Enabled(需要Acrobat(pro?)),否則他們將無法保存打開[X] FDF後獲取的表單版本,只能查看/打印。當然,他們可以保存[X] FDF,但許多用戶可能會拒絕這種奇怪的新格式。