itext html转换pdf,itext转换html成pdf(支持中文、图片)
1.首先导入依赖
com.itextpdf
itextpdf
5.5.11
com.itextpdf
itext-asian
5.2.0
org.xhtmlrenderer
flying-saucer-pdf
9.0.7
2.代码部分
package com.pdf.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.jsoup.Jsoup;
import org.xhtmlrenderer.pdf.ITextFontResolver;
import org.xhtmlrenderer.pdf.ITextRenderer;
import com.lowagie.text.pdf.BaseFont;
/**
* 转换html为pdf
* @author Uncle Liu
*
*/
public class Html2pdf {
/**
* 将HTML转成PD格式的文件。html文件的格式比较严格
* @param htmlFile
* @param pdfFile
* @throws Exception
*/
//
public static void html2pdf(String htmlFile, String pdfFile) throws Exception {
// step 1
String url = new File(htmlFile).toURI().toURL().toString();
System.out.println(url);
// step 2
OutputStream os = new FileOutputStream(pdfFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
// step 3 解决中文支持
ITextFontResolver fontResolver = renderer.getFontResolver();
if("linux".equals(getCurrentOperatingSystem())){
fontResolver.addFont("/usr/share/fonts/chiness/simsun.ttc", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
}else{
fontResolver.addFont("C:\\Windows\\WinSxS\\amd64_microsoft-windows-font-truetype-simsun_31bf3856ad364e35_10.0.17134.1_none_e089ab61d8d9374e\\simsun.ttc", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
}
renderer.layout();
renderer.createPDF(os);
os.close();
System.out.println("create pdf done!!");
}
public static String getCurrentOperatingSystem(){
String os = System.getProperty("os.name").toLowerCase();
System.out.println("---------当前操作系统是-----------" + os);
return os;
}
public static void main(String[] args) {
String htmlFile = "D:\\WorkSpace\\IdeaProjects\\pdf\\src\\main\\resources\\templates\\u.html";
String pdfFile = "c:/test.pdf";
try {
Html2pdf.html2pdf(htmlFile, pdfFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.html页面
注意:html格式非常严格,图片地址这里用的是绝对路径(file:///D:/WorkSpace/IdeaProjects/pdf/src/main/resources/static/images/1.jpg)
如果是相对路径要在后台设置
Title
/*没有background-color生产的pdf会是空白*/
body{ text-align:center;border: 0px;margin: 0px;background-color:#FFFFFF;}
.div{ margin:0 auto; width:1188px; height:auto;}
body {
/*中文支持*/
font-family:SimSun;
}
123我
eE额33 | eE额33 |
eE额33 | eE额33 |
eE额33 | eE额33 |
eE额33 | eE额33 |
4.生成pdf
超出页面长度时会自动分页
itext html转换pdf,itext转换html成pdf(支持中文、图片)相关推荐
- .NET(C#) 使用Aspose.Pdf将HTML转成PDF
.NET(C#) 中将HTML转成PDF的方法比较多,可以使用Aspose.Pdf.PuppeteerSharp.EO.PDF 和 HtmlRenderer.PDFSharp等,本文主要使用Aspos ...
- 【Java】SpringBoot后端格式转换:把Word转成PDF再按页转成图片在前端展示(Linux)
ConvertUtil 1. word2pdf 1.1 aspose-word插件 1.2 word转pdf 1.2.1 添加license文件 1.2.2 具体实现 2. pdf2imgByPage ...
- 文档格式转换(Office文档转成PDF或XPS)
最近在做微信云打印服务器,云服务器与微信云服务器通信己经OK,现在有一个很核心的功能需要实现,就是服务器端文档的格式转换 目标:将office.txt.图片格式的文档转成PDF 查阅了一些资料,格式转 ...
- html转换成pdf代码,HTML转成PDF的4个方法介绍(附代码)
本篇文章给大家带来的内容是关于把HTML转成PDF的4个方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 在本文中,我将展示如何使用 Node.js.Puppetee ...
- 二进制转pdf. java_二进制字符转成pdf
/** * @Description:Base64转换成pdf * @param pdfBase64St 二进制字符串r * @param filepath 保存路径 */ public static ...
- html转成pdf java,html转成pdf java
html转成pdf java [2021-02-01 01:58:15] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(" ...
- wps转换压缩ppt,转成pdf和图片
目标: 所有ppt文件6M以内: 所有pdf文件3M以内: 图片无水印,且单张图片不超过150KB. 所用工具:WPS_Office_2016_专业增强版_v10.8.2.6613_官方版.exe 实 ...
- php base64互转pdf 将base64解析成pdf
/* * base64转pdf */ function base642pdf($formTxt,$toPdf) { $file = file_get_contents($formTxt); ...
- Markdown Preview Enhanced 打印PDF。解决打印成PDF/HTML时,CSS样式无法显示的问题
Markdown Preview Enhanced 插件默认设置成打印github样式的,坑爹啊 解决: 打开 settings.json ,加入这一段代码 "markdown-previe ...
- ppt在线转换成pdf
ppt在线转换成pdf 目前,国内朋友用ppt的不是很多,至今比较冷门,可办公中我们总是要处理各式各样棘手的ppt文件.有没有把ppt转换成pdf的软件呢?有把ppt直接生成pdf文档的在线转换软件吗 ...
最新文章
- knn 进行手写数字识别
- python 、example
- leetcode 167 Two Sum II - Input array is sorted
- dll文件的c++制作
- 豆瓣评分9分+,每一部看完不禁感慨!这里是神州大地!
- mysql 工时统计_有如下数据,要统计1月3号工时不足8小时的员工姓名及总工时,该sql语句该怎么写(用的mysql哈)...
- 2014——我们都任性过
- html支持图片文字的控件_[小工具][爬虫]一键完整备份你的Csdn博客文章(支持Markdown,HTML,文中图片)...
- ubuntu MySQL的卸载
- 【2021-11】4 个 Anaconda 国内开源镜像站
- git push :unable to write sha1 filename ./bojects/xxxx:权限不够
- MPC5744-LINFlexD
- 【小程序源码】uni-app云开发的网盘助手抓取网盘资源
- GO学习笔记1.5:第一个GO项目常见问题
- jupyter notebook 前面书写后面内容消失
- 【JDK7】新特性(1) 概述
- 《我在这里爱你》(聂鲁达)
- shell判断命令是否执行成功
- [世界杯] 意大利 VS 捷克 2:0 (据说是本届世界杯最有看头的一场)
- 在应用中安装其他应用程序
热门文章
- VMware ESXi中的虚拟机启用鼠标侧键/其他功能键
- ANSYS fluent模拟飞行器受力情况(三维模拟)
- FLOW-3D中警告问题
- 【历史上的今天】3 月 23 日:网景创始人出生;FORMAC 语言的开发者诞生;PRMan 非商业版发布
- 关于2023年度陕西省职称评审申报发表论文的相关规定
- Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW,LabVIEW和三菱PLC 通讯
- 【立创开源】N32G430C8L7最小系统板
- 贝壳、安居客、天猫好房的数字化博弈
- VESA--1080P时序代码
- 【考研复试】某985考研复试英语面试问题汇总(综合面试+英语口语面试)