2014-04-21 30 views
0

我試圖在JavaFX中創建一個可保存的(實際可打印的)表單,也就是說,它可以保存在計算機中作爲PDF或其他可打印的格式。我在谷歌搜索和發現許多鏈接。我還發現堆棧溢出的一個問題 - How to generate printable (and savable) forms with Java?是否可以通過編碼在JavaFX中創建可保存或可打印的(PDF,Word或其他)表單?

我發現上面的鏈接JasperReports,iText和Docmosis。我無法使用這些來製作所需的表單。是否可以通過在JavaFX中進行編碼來生成PDF文件?

回答

2

您可以嘗試Apache的PDFBox。我正在使用它來閱讀PDF,並取得了巨大的成功,儘管我沒有使用任何寫作操作。教程herehere。我主要使用他們的文檔,發現here

從PDF的閱讀是相當簡單的,一旦你看看文檔,但這裏是我如何使用它:

//PDFBox API doesn't include generics for PDAcroForm.getFields(); 
//type-cast should always be safe 
@SuppressWarnings("unchecked") 
List<PDField> fields = form.getFields(); 
String v; 
for (PDField field : fields) 
{ 
    v = field.getValue(); 
    values.put(field.getFullyQualifiedName(), v == null ? "" : v); 
} 

逆操作,保存到一個PDF,同樣應該是相當簡單:field.setValue(String value)。再次,我沒有試圖保存任何PDF。

另一件需要注意的事情是:它可以幫助您自己開發PDF表單,或者協調創建PDF表單的人(假設您依靠我的方法通過完全限定名稱映射值)。如果您試圖保留依賴於FQN的數據,並且它在PDF本身中發生更改,則可能會出現問題。

+0

你能給我提供一些教程嗎? – TomJ

+1

嘗試一些簡單的例子[這裏](http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/)。 – brian

+0

我更新了我的答案,以包含教程和文檔的鏈接。 –

相關問題