我正在开发一个 Spring-MVC 项目,其中有用户为我们注册。现在,每当用户注册时,我们都希望填写用户的姓名、地址等信息,同时保持其中的某些部分不变,例如我们的姓名、地址等。填写完毕后,将其转换为 PDF 并将其附加到电子邮件中。我有 doc、pdf、html 格式的表格。我已经有了在电子邮件中附加文件的代码。
解决这个问题的最佳策略是什么?谢谢。
最佳答案
最好的解决方案是以 PDF 形式提供表单(AcroForm 技术)。然后,您可以使用 PDF 库使用从 HTML 表单检索到的数据填写该表单。
例如:How to fill out a pdf file programatically?
PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
AcroFields form = stamper.getAcroFields();
form.setField(key, value);
stamper.setFormFlattening(true);
stamper.close();
reader.close();
如果删除行 stamper.setFormFlattening(true);
表单仍将是交互式的。通过添加该行,您可以删除所有表单字段(以及交互性)。
您甚至可以要求人们填写 PDF 表单,如下所示:Edit pdf embedded in the browser and save the pdf directly to server
我认为 Spring 附带了(一个强大的旧版本)iText。您可能想使用最新版本。请访问官方网站,了解有关 iText 5 和 iText 7 之间差异的更多信息。
关于java - Spring ,Java : Filling out a form and converting to PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40420158/