zoukankan      html  css  js  c++  java
  • 使用 itext、flying-saucer 实现html转PDF(转)

    转自 http://blog.csdn.net/mhouwei62/article/details/51394804 表示感谢

    itext-2.1.7高于此版本已经更新为AGPL授权,不建议使用。

    添加了字体,没有换行问题,没有<strong>标签不解析问题。

    jar

    <dependency>  
        <groupId>org.xhtmlrenderer</groupId>  
        <artifactId>flying-saucer-pdf</artifactId>  
        <version>9.0.8</version>  
    </dependency>  

    html 文件 转换 PDF

    String inputFile = "D:/testHtml.html";  
    String outFile = "F:/outPdf.pdf";  
    OutputStream os = new FileOutputStream(outFile);  
    ITextRenderer renderer = new ITextRenderer();  
    ITextFontResolver fontResolver = renderer.getFontResolver();  
    fontResolver.addFont("C:/Windows/fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);  
    String url = new File(inputFile).toURI().toURL().toString();  
    renderer.setDocument(url);  
    renderer.layout();  
    renderer.createPDF(os);  
    os.close();   
     
    html 字符串 转换 PDF
     
    ITextRenderer renderer = new ITextRenderer();    
    ITextFontResolver fontResolver = renderer.getFontResolver();    
    fontResolver.addFont("C:/Windows/fonts/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);  
    os = new ByteArrayOutputStream();  
    String htmlstr = "你的HTML字符串";  
    renderer.setDocumentFromString(htmlstr);  
    renderer.layout();    
    renderer.createPDF(os); 

    如果你需要动态替换HTML里面的数据,推荐使用freemarker

    StringTemplateLoader templateLoader = new StringTemplateLoader();  
    templateLoader.putTemplate("模板,也就是你的HTML", sb.toString());  
    Configuration config = new Configuration();  
    config.setTemplateLoader(templateLoader);  
    Template template = config.getTemplate("模板,也就是你的HTML");  
    StringWriter writer = new StringWriter();  
    template.process("需要替换数据所对应的参数", writer);  

    给自己的建议 百度时要用时间排序下 尽量看时间较近的文章。

  • 相关阅读:
    Nginx、PCRE和中文URL(UTF8编码)rewrite路径重写匹配问题
    Nginx 使用中文URL,中文目录路径
    再谈Nginx Rewrite, 中文URL和其它
    事务管理
    commons-dbcp连接池的使用
    JDBC操作简单实用了IOUtils
    JDBC进行处理大文件和批处理
    mysql日期函数(转)
    mysql约束(自己原先总结的有点不准)
    mysql笔记(前面自己写的不标准有些地方)
  • 原文地址:https://www.cnblogs.com/weixiaole/p/5885086.html
Copyright © 2011-2022 走看看