2016-03-07 63 views
1

我需要填寫幾個包含XFA文件的PDF表單,然後將其打印出來。我只能從Linux機器打印它們。它安裝了Acroread,但它不能正常工作,除了它已經過時。PDF文件上的XFA表單

我可以做的是在我的Macbook中填寫它們。所以我的問題是:一旦我填充它們,我能以某種方式將它們導出爲Linux中的查看器(如Okular,Evince等)可以打開並打印的「常規」pdf文件嗎?這將會很棒,因爲我只需將它們發送給我自己並從Linux計算機上打印出來。

謝謝!

回答

1

您描述的問題是標題爲「誰害怕XFA?」的主題。 video/slide deck

如果您只有數量有限且可以半自動處理的文檔,Max Wyss發佈的解決方案(使用Acrobat Reader DC填寫並打印表格)肯定是可行的。如果你想要一個完全自動化的過程,這通常不是一個可行的解決方案。例如,如果表單需要在Web應用程序的上下文中填寫,並且人們需要在瀏覽器中獲取PDF作爲對Linux服務器的請求的響應,則不會將Macbook用作服務器,你會?

在這種情況下,您需要一個將XML注入PDF的庫(請參閱How to fill out a pdf file programmatically?),然後將其「扁化」爲普通PDF(How to flatten a XFA PDF Form using iTextSharp?)。這種方法的問題在於,您需要一個軟件庫或工具來實現這一點,除了Adobe LiveCycle和iText的XFA Worker之外,我不知道任何可以將XFA壓縮爲普通PDF的工具。

使用PostScript驅動程序打印動態XFA表單將不起作用,因爲除了Adobe和iText軟件以外,軟件領域對XFA的支持很少(並且XFA在PDF 2.0中已棄用)。

0

Macbook和Linux機器可以聯網嗎?如果是這樣,請嘗試共享打印機,然後使用Macbook(或Adobe Reader XI)上的Acrobat Reader DC填寫並打印表格。

另一種可能性是設置PostScript打印機(驅動程序)並使用它的幫助來創建PostScript文件,然後您可以將其傳輸到Linux機器併發送到打印機(可能使用Ghostscript作爲中介)。

關鍵是您需要使用Acrobat/Reader來填寫表單,特別是如果它是動態XFA。