是否可以通过编码在JavaFX中创建可保存或可打印(PDF,Word或其他)表单?

时间:2014-04-21 10:20:12

标签: javafx javafx-2 pdf-generation

我试图在JavaFX中制作一个可保存的(可打印的)表单,也就是说,它可以以PDF或其他一些可打印格式保存在计算机中。我在谷歌搜索,发现了很多链接。我在Stack Overflow中发现了一个问题 - How to generate printable (and savable) forms with Java?

我从上面的链接中找到了JasperReports,iText和Docmosis。我无法使用这些来制作所需的表格。那么可以通过在JavaFX中编码来生成PDF文件吗?

1 个答案:

答案 0 :(得分: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表单,或者与制作它的人协调(假设您依赖我的完全限定名称映射值的方法)。如果您尝试保留依赖于FQN的数据,并且它在PDF本身中发生了更改,则可能会出现问题。