web应用票据打印实现(三)
2015-03-12 12:54
441 查看
itext是一个开源库,用以动态的创建、修改pdf文件。通过itext,我们就可以在上一篇创建的pdf模板中填入数据,生成供打印用的pdf文档了。
首先我们需要打开模板,者通过创建一个PdfReader 对象来实现:
接下来还需要创建一个PdfStamper对象来向模板中添加数据:
从PdfStamper对象中得到模板中全部的表单域
将数据填入模板:
通过setFormFlattening(true)来去除pdf中的表单,这使的pdf文档不能再次编辑,但也减少了文档的大小。最后关闭PdfStamper对象即在fileName路径处创建了我们最终用来打印的pdf文档。
关于更多itext库的用法,可以参考iText in Action 这本书:
首先我们需要打开模板,者通过创建一个PdfReader 对象来实现:
String printableTemplate = ... //模板文件的路径 PdfReader printableReader = new PdfReader(printableTemplate);
接下来还需要创建一个PdfStamper对象来向模板中添加数据:
String fileName = "your_file_name"; printableStamper = new PdfStamper(printableReader, new FileOutputStream(fileName));
从PdfStamper对象中得到模板中全部的表单域
AcroFields printableForm = printableStamper.getAcroFields();
将数据填入模板:
for (Map.Entry<String, String> entry: printableDocument.getTemplateFieldValueMap().entrySet()) { printableForm.setField(entry.getKey(), entry.getValue()); }
通过setFormFlattening(true)来去除pdf中的表单,这使的pdf文档不能再次编辑,但也减少了文档的大小。最后关闭PdfStamper对象即在fileName路径处创建了我们最终用来打印的pdf文档。
printableStamp.setFormFlattening(true); printableStamp.close();
关于更多itext库的用法,可以参考iText in Action 这本书:
相关文章推荐
- web应用票据打印实现(一)
- web应用票据打印实现(二)
- web应用票据打印实现(四)
- ASP.NET中应用XML技术实现Web报表打印
- 巧用FileSystem组件实现WEB应用中的本地特定打印
- 如何实现客户端打印web应用上的文件,打印机在客户端上
- 应用CSS的page-break-after属性 实现WEB页面强制分页打印
- 巧用FileSystem组件实现WEB应用中的本地特定打印
- 巧用FileSystem组件实现WEB应用中的本地特定打印的方法
- ASP.NET中应用XML技术实现Web报表打印
- 巧用FileSystem组件实现WEB应用中的本地特定打印的方法
- 使用Activex实现web固定格式尺寸单据打印、票据打印
- 巧用FileSystem组件实现WEB应用中的本地特定打印
- 利用XML实现通用WEB报表打印(2)
- Web下打印的实现
- 配置Web应用环境实现JSP留言簿
- 利用XML实现通用WEB报表打印
- Web应用在业务层实现数据缓存
- 利用XML实现通用WEB报表打印
- 利用XML实现通用WEB报表打印