首页 > 编程语言 >java将html转成pdf

java将html转成pdf

时间:2022-08-24 11:37:17浏览次数:76  
标签:java html renderer new pdf font os

需要的依赖: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();
}

}

标签:java,html,renderer,new,pdf,font,os
From: https://www.cnblogs.com/you-hun/p/16619245.html

相关文章

  • 【Java基础】面向对象的编程思想
    1.面向对象的编程思想做人的原则:不偷不抢不骗,这就是做人的思想编程的原则:....,这就是编程的思想2.面向过程和面向对象二者都是一种思想。(1)面向过程(POP)强调的是功能......
  • 力扣429(java)-构造矩形(简单)
    题目:作为一位web开发者,懂得怎样去规划一个页面的尺寸是很重要的。所以,现给定一个具体的矩形页面面积,你的任务是设计一个长度为L和宽度为W且满足以下要求的矩形的页......
  • java通过模板生成word文档
    工具库:https://github.com/Sayi/poi-tl中文文档:http://deepoove.com/poi-tl/pom依赖<dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artif......
  • C#/VB.NET 创建PDF/UA文件
    1.什么是PDF/UA文件PDF/UA,即UniversallyAccessiblePDF,该格式的PDF文件是于2012年8月以ISO标准14289-1发布的、具有普遍可访问的PDF文档标准。为带标签的PDF文档(Tagged......
  • 深入理解Java中的Thread.sleep
    Thread.sleep()方法能够已毫秒为时间单位暂停当前执行的线程,参数值为毫秒不能为负数,否则将抛出IllegalArgumentException异常。Java线程休眠要点:1.它总是暂停当前执行的......
  • 36. Redis---Java使用Redis
    1.前言在开始学习本节内容之前,首先需要您掌握Java编程语言,其次确定您已经安装了Redis服务及JavaRedis驱动,并且能够成功运行Java程序。本节介绍如何在Java中......
  • Blog粘贴图片自动上传到服务器(Java版)
    ​项目需求可发布文章需求涉及到富文本编辑器经过查阅我选择了较为简便不需要后端支持可独立完成的tinymce框架官方文档也是相当完整虽然都是全英文但是有强大的谷......
  • Java-Java集合流操作
    List分组List去重1、单字段去重2、多字段去重List交集方法retainAllList分组去重获取最新记录List分组去重获取最新记录修订记录版本是否发布202......
  • Java-List集合字段求和函数
    一、FunctionCustom通用求和函数使用示例二、求和函数修订记录版本是否发布2020-01-25v1.0是一、FunctionCustom通用求和函数使用示例特点:简化代码......
  • JavaSE的基础
    初始Java1.核心机制:垃圾收集器、跨平台2.JDK、JRE、JVM数据类型1.变量和常量字面常量、字符常量2.基本数据类型:byte1、short2、int4、long8、float4、double8、char2......