itext转pdf(一)

在网上找过各种转pdf的方式、插件使用对比觉得itext是相对比较好的一种。查询过很多资料转PDF一般有两种,一个是html转PDF,另一个是自己拼出要的内容然后转成PDF。先说第一种用的是这三个jar包。我遇到的html转PDF,是标签直接存到数据库里面,当要查看的时候会有模板调用数据库,这个时候出现的第一个问题就是数据库中的都是宋体(汉字的形式)转换出来的这部分就是空或者格式不正确,于是用sql语句都换成了SimSun,这样才能正常显示。其次是转html的代码

 1      OutputStream os = new FileOutputStream(outputFile);  
 2         ITextRenderer renderer = new ITextRenderer();  
 3         ITextFontResolver fontResolver = renderer.getFontResolver(); 
 4         String pathttc = ProjectPathUtils.getClassesPath().replace("%20", " ")+ "config/";//这里是字体所在的地址,根据自己所在的位置更改 6      // fontResolver.addFont("/"+pathttc + "font/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
 7         fontResolver.addFont("/"+pathttc + "font/simsun.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);//
 8         renderer.setDocumentFromString(html);  
 9         renderer.layout();  
10         renderer.createPDF(os);  

至于生成时候遇到的表格,图片问题,因为我在实际中没有用到所以也没有继续研究。itext转PDF的时候对html标签格式要求很严格,还有一个遇到的问题是html中是单标签在转换的时候会报错,类似这种

 ERROR:  '元素类型 "link" 必须由匹配的结束标记 "</link>" 终止。
原文地址:https://www.cnblogs.com/maylove/p/7605616.html