IAm*_*aja 23 java forms pdf itext
我正在为我住的地方附近的食品储藏室做一些"无偿"的开发.他们被表格和文书工作所淹没,我想开发一个简单地从他们的MySQL服务器(我在之前的项目中为他们设置)中读取数据的系统,并将数据提供给他们所需的所有表格的PDF版本.填写.这将极大地帮助他们并为他们节省大量时间,并消除填写这些表格时产生的许多人为错误.
不知道任何有关PDF文件的内部,我可以预见这里有两个途径:
所以我的第一个问题是:我面临的两条途径中的哪一条?PDF是否具有"字段"的概念,还是需要通过告诉PDF库放置数据的位置的像素坐标来"填写"这些文档?
其次,我显然需要一个开源(和Java)库来完成这项工作.iText似乎是一个良好的开端,但我听说它可能很难合作.任何人都可以在这里提出一些想法或一般建议吗?提前致谢!
Rea*_*wTo 20
您可以使用FDF(表单数据格式)技术轻松地将数据合并到PDF的字段中.
Adobe提供了一个库来执行此操作: Acrobat Forms Data Format(FDF)Toolkit
另外的Apache PDFBox的可以用来做.
请查看免费电子书《 StackOverflow上的最佳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("name", "CALIFORNIA");
fields.setField("abbr", "CA");
fields.setField("capital", "Sacramento");
fields.setField("city", "Los Angeles");
fields.setField("population", "36,961,664");
fields.setField("surface", "163,707");
fields.setField("timezone1", "PT (UTC-8)");
fields.setField("timezone2", "-");
fields.setField("dst", "YES");
stamper.setFormFlattening(true);
stamper.close();
reader.close();
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
46222 次 |
最近记录: |