您的位置:首页 > 移动开发

web应用票据打印实现(三)

2015-03-12 12:54 441 查看
itext是一个开源库,用以动态的创建、修改pdf文件。通过itext,我们就可以在上一篇创建的pdf模板中填入数据,生成供打印用的pdf文档了。

首先我们需要打开模板,者通过创建一个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 这本书:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iText web打印 applet