2011-07-28 131 views
5

我有一個PDF格式的表格。我正在嘗試編寫一個類,它將從我的數據庫中獲取數據並自動填充表單中的字段。使用PDFBox填寫PDF表格

我已經嘗試過ITextSharp,它們的價格超出了我的預算,儘管它與我的PDF格式完全吻合。我需要一個免費的pdf解析器,它能讓我導入pdf,設置數據並保存PDF,最好是一個流,以便我可以從我的類中返回一個Stream對象,而不是將pdf保存到服務器。

我發現this pdf reader,它不起作用。空引用錯誤很多,當我試圖「修復」它們時,仍然無法找到我的字段。

所以,我已經轉移到PdfBox,因爲文檔說它可以操縱PDF,但是,我找不到任何示例。這是我迄今爲止的代碼。

var document = PDDocument.load(inputPdf); 

var catalog = document.getDocumentCatalog(); 

var form = catalog.getAcroForm(); 

form.getField("MY_FIELD").setValue("Test Value"); 

document.save("some location on my hard drive"); 
document.close(); 

的問題是,catalog.getAcroForm()返回一個空,所以我不能訪問的字段。有誰知道我如何使用PdfBox來改變字段值並將其保存回去?

編輯:

我確實發現this example,這是相當多的我在做什麼。這只是我的acroform在pdfbox中爲空。我知道那裏有一個,因爲itextsharp可以很好地把它拉出來。

回答