html to pdf
public static void main(String[] args) throwsException{String htmlFile= "D:/Demo.html";String pdfFile= "D:/test/Pdf.pdf";InputStream htmlFileStream= newFileInputStream(htmlFile);//创建一个document对象实例com.itextpdf.text.Document document = newcom.itextpdf.text.Document();//为该Document创建一个Writer实例PdfWriter pdfwriter =PdfWriter.getInstance(document,newFileOutputStream(pdfFile));pdfwriter.setViewerPreferences(PdfWriter.HideToolbar);//打开当前的document document.open();BaseFont baseFont= BaseFont.createFont("C:/Windows/Fonts/Simsunb.TTF",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);Font font= newFont(baseFont); document.add(new Paragraph("解决中文问题了!",font)); InputStreamReader isr= new InputStreamReader(htmlFileStream, "UTF-8");XMLWorkerHelper.getInstance().parseXHtml(pdfwriter, document, isr);document.close(); }
public static void main(String[] args)throwsException {String inputFile= "E:/workspace/PDF/WebContent/WEB-INF/signfileInfo.html";String outputFile= "E:/workspace/PDF/WebContent/WEB-INF/signfileInfo.pdf";OutputStream os= newFileOutputStream(outputFile); ITextRenderer renderer= newITextRenderer(); String url= newFile(inputFile).toURI().toURL().toString(); renderer.setDocument(url);//解决中文支持问题ITextFontResolver fontResolver =renderer.getFontResolver(); fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);//解决图片的相对路径问题renderer.getSharedContext().setBaseURL("file:///E:/workspace/PDF/WebContent/WEB-INF/"); renderer.layout(); renderer.createPDF(os); os.flush(); os.close(); System.out.println("转换完成!");}
html代码需要严格规范,所有标签都要有对应的/>进行关闭
记得用html包围,
开始的时候没有用这个,导致了一个麻烦的问题,还查了好久才发现。
为了支持中文,不仅要在java代码中引入字体文件,还需要在html中引用
body {
font-family: SimSun;
}
原先的core-renderer.jar不支持中文换行功能,有人修改了源码
中文换行包
所用的其他几个jar包分别为:
iText-2.0.8.jar (必需是2.0.8版本)
iTextAsian.jar
iTextAsianCmaps.jar
转载于:https://www.cnblogs.com/Yusco/p/9448889.html
html to pdf相关推荐
- php批量导出pdf文件大小,php完美导出pdf,pdf合并批量导出
使用到的工具 pdftk https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ pdf合并工具 wkhtmltopdf ...
- html 实现动态在线预览word、excel、pdf等文件
word+excle+pdf表格在线浏览 通过iframe直接引用微软提供的方法 <iframe src='https://view.officeapps.live.com/op/view.as ...
- 如何将模糊的扫描版pdf转为清晰的pdf或word_pdf问题小结
20220109 pdf拆分 不要点提取页面为单独文件 这样会提取出完整的一个文件 而如果选了的话会全部拆分成一页一页 20220107 # code=utf-8 import os import t ...
- snagit屏幕截图转pdf
滚动截取无限的屏幕形成pdf.点击 capture 然后画出要截取的屏幕范围 如果一次截取的数据多 要等个几分钟 编辑器才会出现 然后通过save as 保存为pdf 而且保存也要等很久 还是一次少截 ...
- Java使用itext生成Pdf
Java使用itext生成Pdf 背景 所需依赖 解决jpedal-lgpl jar包问题 示例代码 生成带图片的PDF(使用本地文件系统图片) 生成带图片的PDF(使用网络图片) 背景 在某些业务场 ...
- (八)pdf的构成之文件体(page属性)
资源(Resources) 类型:字典 属性: Font :一个字典,内部是该资源包含的各个字体的名称(字体名称F开头) ProcSet :该资源中使用图画还是文字,可选 /PDF /Text /Im ...
- JS导出PDF插件(支持中文、图片使用路径)
JS导出PDF插件(支持中文.图片使用路径) 原文:JS导出PDF插件(支持中文.图片使用路径) 在WEB上想做一个导出PDF的功能,发现jsPDF比较多人推荐,遗憾的是不支持中文,最后找到pdfma ...
- Pandoc PDF 中文
最近终于又决定(^_^)使用reStructuredText写文档了,输出PDF时的中文问题必须要解决下. 安装环境 sudo apt install texlive texlive-latex-ex ...
- pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件。
pdfh5.js 基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件. 注意:本地绝对路径地址不能加载,跨域问题用代理或者服务端解决. svg模式渲染存在缺陷,只能渲染普通pd ...
- python批量pdf转word,python批量实现Word文件转换为PDF文件
本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...
最新文章
- 这些编程语言程序员工资最高!Java才第四
- SQL Server 2012 安全新特性:包含数据库
- centos7无法使用ifconfig且无法上网
- 解决windows 2003无法远端登录windows 2008
- 评论:互联网的冬天还有多远?
- nlp论文-《Neural Machine Translation by Jointly Learning to Align and Translate》-基于联合学习对齐和翻译的神经机器翻译(一)
- Apache Log4j任意代码执行漏洞安全风险通告第三次更新
- 1.5万字详述 | 全开源:python写小游戏+AI强化学习与传统DFS/BFS控制分别实现
- 游侠原创:VMware ESXi 5安装图文教程
- MobaSSH SSH server for Windows - Download Home Edition
- 怎么把qq音乐flac改成mp3格式
- 手机软件测试普通话准确吗,语音输入法到底谁最准?我花了3天时间做了12项对比,评测结果你一定想不到!...
- 生存分析 R语言(六)—— Extended and Stratified Cox
- c35是什么意思_什么是C35混凝土?
- 超级码力在线编程大赛初赛 第3场 1.最大公倍数
- 色阶的中间调调节原理之一
- python爬虫精选11集(selenium进阶总结【selenium的cookies处理、ip代理、useragent替换】)
- CSS的overflow属性简析
- 信贷违约风险评估预测-kaggle项目
- Python 猴子吃桃问题
热门文章
- 14、 Integer 与 int 的区别
- 使用SCVMM2008 R2管理Hyper-V之3-使用模板部署虚拟机
- es 测试数据进行 增删查改
- 使用redis作为缓存,数据还需要存入数据库中吗?
- hive启动报错 java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7B
- 百度开源超级链技术方案!
- 真会玩!竟然可以这样用IDEA通过数据库生成lombok版的POJO...
- 又整理了一批可以拿去做副业的开源项目...
- 吃透这套架构演化图,从零搭建Web网站也不难!
- Android 11 Meetup 上海站!来了!