itext:根据模板生成新的pdf
来源:互联网 发布:ucloud云计算 编辑:程序博客网 时间:2024/05/29 19:47
/** * 赋值并生成新的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 blocke.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); }
0 0
- itext:根据模板生成新的pdf
- java 使用itextpdf.jar和itext-asian.jar根据pdf模板填写数据后生成一个新的pdf文件
- itext pdf模板生成pdf
- Itext操作pdf模板生成pdf
- itext使用模板生成pdf文件
- 利用velocity模板以及itext生成pdf
- itext使用模板生成pdf文件
- java-pdf-(itext+adobe acrobat+pdf模板)生成pdf文件
- Java IText使用PDF模板 生成 输出PDF
- 【java】 iText使用PDF模板生成输出PDF
- 【java】 iText使用PDF模板生成输出PDF
- Java IText使用PDF模板 生成 输出PDF
- Java iText使用PDF模板生成PDF文档
- Java iText使用PDF模板生成PDF文档
- iText编辑Pdf模板
- iText编辑Pdf模板
- 生成PDF文件的Java库iText
- 生成PDF文件的Java库iText
- Codevs 无限网络发射器选址
- 30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- navTabPageBreak注意事项以及调试步骤
- 怎么解决alm跑条问题
- Android中从一个应用打开另一个应用中的Activity
- itext:根据模板生成新的pdf
- java读取文件夹下文件名 再按行写入txt文件
- Android中Bitmap和Drawable
- Android Camera HAL V3参数传递
- 操作系统之我见-导论
- Markdown示例
- 17.3.3 Using Replication for Scale-Out 使用复制扩展
- ThreadLocal,静态变量,实例变量,局部变量的线程安全,回复:ByteBuffer 到底怎么用?网络编程中一点总结!
- SQL INNER JOIN 关键字 高级教程