gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 08:52:01 27 4
gpt4 key购买 nike

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

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

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

我是这个领域的新手,尝试用谷歌搜索它,但找不到正确的解决方案。

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

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

最佳答案

下载Chapter6 of my book并阅读第 6.3.5 节中有关使用 OpenOffice(或 LibreOffice)创建表单的部分。这是您为学生的 "name"'age" 等定义字段的模板...

一旦您有了包含字段 "name""age" 的模板,您就可以使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com