itext:根据模板生成新的pdf
2015-10-16 16:54
471 查看
/** * 赋值并生成新的PDF文档 * @param templatePDF pdf模版路径 * @param outFile 输出的PDF 路径 * @param hashMap templatePDF对应的数据 */ public static void doSomeThing(String templatePDF,String outFile,HashMap<String,String> hashMap){ FileOutputStream fos = null; PdfReader reader = null; try { //创建输出流 fos = new FileOutputStream(outFile); //读取pdf模板 reader = new PdfReader(templatePDF); //将模板数据放入输出中,并进行操作 PdfStamper stamp = new PdfStamper(reader,fos); //获取模板中的相关域数据 AcroFields form = stamp.getAcroFields(); //给相应域赋值 form = setField(form,hashMap); stamp.setFormFlattening(true); //加水印 // int pageSize = reader.getNumberOfPages(); // Image img = Image.getInstance("d://2.jpg");// 插入水印 // for(int i = 1; i <= pageSize; i++) { // PdfContentByte under = stamp.getOverContent(i); // img.setAbsolutePosition(150, 200); // under.addImage(img); // } stamp.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } finally { try { if(null != fos) { fos.close(); } if(null != reader) { reader.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } @SuppressWarnings({ "unchecked", "unchecked" }) public static AcroFields setField(AcroFields form,HashMap<String,String> fieldMap) { Map<String, Item> formMap = form.getFields(); try { //使用中文字体 BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); // Font FontChinese = new Font(bfChinese, 12, Font.NORMAL); Set<String> it=formMap.keySet(); Iterator<String> itr=it.iterator(); while(itr.hasNext()){ String temp = itr.next(); form.setFieldProperty(temp, "textfont", bfChinese, null); form.setField(temp, fieldMap.get(temp)); } } catch (IOException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } return form; } public static void main(String[] args) { HashMap<String, String> hashMap = new HashMap<String, String>(); hashMap.put("username", "张三"); hashMap.put("datetime", "2015-09-10"); hashMap.put("area", "北京"); PdfTemplate.doSomeThing("d://moreXieyi.pdf","NewsPDF"+".pdf", hashMap); }
相关文章推荐
- PDF里的文字显示模糊的解决方法
- PDF编辑工具 Foxit PDF Editor 1.5 Build 2911 下载
- 没有文件大小限制并免费的PDF到HTML转换工具
- MicroAdobe PDF Editor 6.2 英文正式版附破解补丁 下载
- C#使用iTextSharp设置PDF所有页面背景图功能实例
- PDF的VBS小程序代码
- C#实现TIF图像转PDF文件的方法
- c#实现将pdf转文本的示例分享
- C#使用iTextSharp封装的PDF文件操作类实例
- C#编程读取文档Doc、Docx及Pdf内容的方法
- Java开源工具iText生成PDF简单实例
- C#使用itextsharp生成PDF文件的实现代码
- 使用java为pdf添加书签的方法(pdf书签制作)
- java中输出pdf文件代码分享
- django自定义Field实现一个字段存储以逗号分隔的字符串
- Python实现将DOC文档转换为PDF的方法
- C#实现HTML转WORD及WORD转PDF的方法
- PHP中使用imagick实现把PDF转成图片
- ThinkPHP CURD方法之field方法详解
- C# / VB.NET合并PDF指定页