2017-06-15 48 views
0

我有一個用adobe生命週期設計器創建的xfa表單。我可以成功填寫表格,但它有我無法簽名的簽名欄。當在字段上簽名時,沒有找到字段的代碼錯誤(我有正確的字段名稱),但是如果我使用Adobe Reader並簽名表單,則可以使用完全相同的代碼對其進行辭職。我使用的是來自Bruno Lowagie-Sequential Signatures的PDF文檔數字簽名示例。我需要激活簽名字段嗎?感謝任何人的幫助。Itextsharp發現xfa表單字段未找到

回答

0

在PAdES-5中描述了對XFA表單進行簽名,儘管您忘記共享任何代碼,但您可能會添加PAdES-2或PAdES-3中描述的簽名。過去,我們已經實現了PAdES-5,但是我們從來沒有推廣過這種功能,因爲據我所知,Adobe本身並沒有遵循PAdES-5標準。換句話說:我們的代碼遵循標準,但沒有用,因爲沒有其他人執行標準。通過ISO-32000-2,XFA已被棄用,這意味着所有在XFA上的進一步投資都會被拋棄。令人驚訝的是,您仍然在使用XFA,因爲XFA的棄用已經在很多年前得到了傳達。

允許我disect你的問題:

  • 當您搜索與iText的簽名場,那場沒有找到。這很正常:表單是一個純粹的XFA表單。沒有找到AcroForm字段;該字段用XML表示。 iText僅查看AcroForm簽名字段。
  • 您可以使用Adobe Reader對文檔進行簽名。事實上,Adobe已經實施了一種簽署與PAdES-5稍有不同的XFA表單的方法。在簽名過程中,會創建一個AcroForm簽名字段。
  • 使用Adobe Reader簽署文檔後,iText可以看到該字段。事實上,由於Adobe Reader添加了AcroForm簽名字段,iText現在可以檢測到它。

你有什麼選擇?如果你可以放棄XFA,那就這樣做。例如:您可以基於AcroForm技術而不是XFA表單創建表單。如果這不是一個選項,你可以在簽名之前將表格弄平。這樣,您將擁有一個普通的PDF,您可以添加AcroForm簽名字段。

如果上述選項都不適合您,您唯一的選擇就是堅持使用Adobe軟件。這意味着購買Adobe LiveCycle ES的許可證。但請注意,XFA是傳統軟件。如果我是您的首席技術官,我不會批准使用XFA。

+0

非常感謝你,完美地回答它。我花了很多時間試圖解決這個問題,我會嘗試一些你的建議。 –

相關問題