java - 在 PDF Java 中创建表单数据

标签 java pdf

我想将一个对象的详细信息提取到 PDF 文件中,并且还希望在导出的 PDF 文件中拥有一种工具来修改/编辑数据。

例如:尝试以某种非常特定的格式将学生对象详细信息导出到 PDF,例如第一行中的显示名称、第二行中的年龄等,一旦导出数据,我也应该能够对其进行编辑(例如更改检索到的年龄)。

最初我想在这个应用程序中创建一个 GUI,它显示数据并且用户可以在执行打印、邮寄等任何操作之前进行编辑,但希望避免创建此 GUI 并直接处理导出的 PDF。

我对这一领域非常陌生,并尝试用谷歌搜索它,但找不到正确的解决方案。

问题中的对象是一个java对象,我正在尝试在PDF文件中查看这个java对象的详细信息。

任何指示都会对我有很大帮助。

最佳答案

下载Chapter6 of my book并阅读第 6.3.5 节中有关使用 OpenOffice(或 LibreOffice)创建表单的部分。您可以在该模板中定义学生的“姓名”“年龄” 等字段...

一旦您拥有包含字段“姓名”“年龄” 的模板,您就可以使用 iText 填写此表单,如下所示:

public void manipulatePdf(String src, String dest) throws DocumentException, IOException {
    PdfReader reader = new PdfReader(src);
    PdfStamper stamper = new PdfStamper(reader,
            new FileOutputStream(dest));
    AcroFields fields = stamper.getAcroFields();
    fields.setField("student", "Anil Pradhan");
    fields.setField("age", "25");
    stamper.close();
    reader.close();
}

在此示例中,src 是空模板的路径,dest 是新创建的已填写表单的路径。

如果您有dest,您还可以通过编程方式检索字段的内容。例如:

PdfReader reader = new PdfReader(src);
AcroFields fields = reader.getAcroFields();
String name = fields.getField("name");
String age = fields.getField("age");

就这么简单。您可以找到更多示例here请务必下载免费电子书 The Best iText Questions on StackOverflow了解有关其他选项的更多信息。

关于java - 在 PDF Java 中创建表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30325929/

相关文章:

R保存ggplot pdf时出错

java - 如何从 JSP 打开 pdf 文档

java - 如何使用pdfbox从pdf中提取粗体文本?

php - 使用php动态地将内容插入到pdf文件中

Java LWJGL 新窗口渲染问题

Java 守护进程并连接到已运行的实例

java - selenium 可以处理自动完成吗?

html - 对学生隐藏 HTML

java - 是否可以从工厂创建一个单例实例

java - 为什么String.equals里面有一个 "=="?