2016-01-23 94 views
0

我有一個pdf格式的表單,我想用JavaScript生成一個密碼,以便用戶可以打印它。密碼是敏感的,可能不會發送到服務器,所以這必須發生在客戶端JavaScript。在這post它可能使用Adobe Acrobat。從客戶端填寫在scribus中創建的pdf表單javascript

想法是,創建一個具有唯一值的預先填充表單,並且在生成用於顯示用戶的最終PDF時使用單一搜索替換該值並在javascript中進行替換。

由於我沒有自己的actobat,我以爲我嘗試了scribus

我在scribus中生成了一個測試表單,並給它預填了%HELLO%。但看看pdf的結果,我沒有看到我可以用簡單的文本替換密碼替換%HELLO%值。

回答

1

事實證明,雖然這post已經在代碼中給出了答案,它不能解釋它。

TextField的值必須轉換爲一個十六進制編碼的unicode字符序列(所以每4位數字),它必須以「fffe」開頭。使用這個字符串,可以在pdf文檔中進行搜索和替換。

該代碼還更新了pdf中的「xref」,當pdf的長度發生更改(或者某些元素在文件中的位置不同)時,必須執行該操作。由於我沒有更改TextField值的長度,所以我不必那樣做。