zoukankan      html  css  js  c++  java
  • 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>" 终止。
  • 相关阅读:
    函数指针与函数声明
    long和int的区别
    pthread_create传递参数
    C语言中的static 详细分析
    linux 读写锁应用实例
    linux使用读写锁pthread_rwlock_t
    linux的<pthread.h>
    时间:UTC时间、GMT时间、本地时间、Unix时间戳
    等号赋值与memcpy的效率问题
    单链表带头结点&不带头结点
  • 原文地址:https://www.cnblogs.com/maylove/p/7605616.html
Copyright © 2011-2022 走看看