java将html转成pdf
需要的依赖:compile ('org.xhtmlrenderer:flying-saucer-pdf:9.0.7')
public static void main(String[] args) throws FileNotFoundException {
try {
//图片是url或者base64都可以,注意html的font-family和java指定的一样
String str="<html><head><mata charset=\"UTF-8\"/><title></title><style>body{font-family:FangSong;font-size:14.5px}.pclass{text-indent:2em}</style></head><body><p><img src=\"https://zhtest.unee.com.cn:8083/ftp/images/o2o/AAA/123_1548234383085.png\" style=\"width: 485.778px;\" data-filename=\"aa.jpg\"/></p><h1>关于违规通知函</h1><p>阁下:</p><p class=\"pclass\">您好,我处工作人员在进行巡查时发现您装修过程中出现如下问题:</p><img src=\"https://127.0.0.1:8080/ftp/images/o2o/AAA/123_1548234383085.png\" style=\"width: 48.78px;\" data-filename=\"aa.jpg\"/></body></html>";
OutputStream os = new FileOutputStream(new File("F:\\example.pdf"));
ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(str);
//以下两行是因为字体不展示,要自己去下载ttf字体,不知道名字可以百度搜字体的英文名称,然后下载即可,html里一定要设置字体
ITextFontResolver fontResolver = renderer.getFontResolver();
fontResolver.addFont("/fonts/FangSong.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
renderer.layout();
renderer.createPDF(os);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律