2016-12-30 118 views
0

我有一個靜態XFA PDF,我希望以編程方式填寫。我可以使用Xfa.FillXfaForm()方法,這可以很好地更新XFA數據集DOM。但是,它不會更新相應的Acroform字段註釋(靜態XFA表單同時包含XFA表單和Acroform)。符合XFA標準的渲染器將讀取並讀取XML數據集Dom,但是,許多渲染器(例如Google Chrome和Firefox)都忽略了XFA字典,這意味着該表單不會顯示在那裏。 iText是否可以同步靜態表單的Acroform和XFA值部分?我正在使用iTextSharp 5.使用iText填充靜態XFA PDF

回答

1

我的回答和最好的建議是......不要!

如果您使用靜態XFA 您主要關注的是有它在非Adobe觀衆始終顯示你有機會獲得一個像樣的圖書館的工具,像iText的,你真的最好從PDF中剝離出XFA字典,然後處理AcroForm字段。一旦獲得非XFA感知和XFA感知的查看者觸摸PDF,確定哪一組數據是正確的集合是有問題的,並且字段值與外觀可能不同步。任何FormCalc腳本和擴展字段都不會被非XFA查看器正確處理,因此完全沒有XFA部分的優勢。

在此過程中,您可以在XML輸入和AcroForm字段名稱之間構建映射並將其存儲在文檔元數據中,以便您的應用程序可以輕鬆填充表單,就好像它仍然是XFA一樣,但您不需要擔心在同一PDF中將數據與兩種完全不同且不兼容的表單技術同步。 (老實說,我很想知道誰認爲這是個好主意)