博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java Html 转 PDF
阅读量:4703 次
发布时间:2019-06-10

本文共 1530 字,大约阅读时间需要 5 分钟。

Html 转 PDF

  • 使用 flying-saucer 插件来完成
  • 导入flying-saucer依赖
org.xhtmlrenderer
flying-saucer-pdf
9.0.8
  • java 代码实现
/**     * @param inputFile 你的html 路径     * @param outFile 生成PDF的路径     * @return      */    public static Boolean HtmlCovertPdf(String inputFile,String outFile){        FileOutputStream os = null;        try {            os = new FileOutputStream(outFile);            ITextRenderer renderer = new ITextRenderer();            ITextFontResolver fontResolver = renderer.getFontResolver();            //处理中文             fontResolver.addFont("simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);            String url = new File(inputFile).toURI().toURL().toString();            renderer.setDocument(url);            renderer.layout();            renderer.createPDF(os);            return true;        } catch (Exception e) {            e.printStackTrace();            return false;        } finally {            try {                os.close();                System.out.println("aa");            } catch (IOException e) {                e.printStackTrace();            }        }    }
  • 中文乱码问题:确保你项目下有simhei.ttf文件,加上此行代码
//这是处理黑体的    java ontResolver.addFont("simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);        //这是处理宋体的    fontResolver.addFont("simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

注意:flying-saucer对Html格式要求非常严格,每个标签元素必须要结尾,对css3的支持也不是特别的好。

转载于:https://www.cnblogs.com/bkyxnc/p/8989593.html

你可能感兴趣的文章
Android 环信聊天头像昵称显示解决方案
查看>>
Android 快速开发系列 ORMLite 框架最佳实践
查看>>
设计模式 单例模式
查看>>
springmvc返回值、数据写到页面、表单提交、ajax、重定向
查看>>
JQuery插件使用小结
查看>>
LightOJ 1038 - Race to 1 Again (给一个数,用这个数的因数除以这个数,直到为1时,求除的次数的期望。)(概率)...
查看>>
并查集用法——快速跳过区间
查看>>
【备忘录】provider, factory, service, hello world example
查看>>
OpenSSL指令---req
查看>>
C#:String.Format数字格式化输出
查看>>
ubuntu下安装pdo和pdo_mysql扩展
查看>>
AngularJS 出现 Uncaught Error: [$injector:modulerr] 的解决办法
查看>>
Win32 多线程学习笔记
查看>>
MySQL高级知识系列目录
查看>>
关于配置禅道的邮件发送
查看>>
两列左侧自适应布局--(来自网易)
查看>>
sql中同一个Trigger里同时包含Insert,Update,Delete
查看>>
[转] handsontable的核心方法
查看>>
[LeetCode]Minimum Path Sum
查看>>
[LeetCode]Surrounded Regions
查看>>