HTML转换成PDF,这样就搞定了!

简介: 哈喽,今天是一篇HTML to PDF速食指南。Java 转换 HTML 到PDF有许多类库,今天我们介绍一下第三方免费的类库OpenPDF。

1. OpenPDF

OpenPDF是免费的Java类库 ,遵从LGPL 和 MPL协议,所以基本上能够可以随意使用。OpenPDF是基于iTEXT的,目前来说也是维护的比较好的Java操作PDF的开源软件。

话不多说,且看所需要的依赖,

80.png

jsoup可以将html文件转换成输入流等,也可以遍历html的DOM节点,提取元素及样式等。

2. 示例

本篇示例将以下html文件转换成pdf


81.png82.png


以上html用浏览器打开如下,乱码是因为中文字体不识别,下面转换的时候会加载对应的字体来进行转换。83.jpg

使用Java转换HTML到PDF代码如下:

84.png

使用Java代码转换成PDF如下(示例中使用了微软雅黑中文字体):

85.jpg上述html文件中增加如下外部样式


86.png

并在resources目录下添加style.css文件,重新生成PDF文件如下。

87.jpg

3. 总结

本片介绍了使用OpenPDF将html文件转换成PDF文件。同时也使用了自定义字体,外部样式。但是以下几点需要格外注意。

  • Java代码中加载的字体名称要和HTML引用的CSS样式中的字体名相同 ({font-family:"msyh";})。
  • HTML文件标签节点必须闭合(<xxx></xxx>).否则解析会失败。


相关文章
|
7天前
|
移动开发 前端开发 JavaScript
使用html-to-image代替html2canvas,结合jspdf实现下载pdf(下载截图下载前端dom元素)
本文介绍了在前端项目中,当使用`html2canvas`遇到问题时,如何使用`html-to-image`库作为替代方案,结合`jspdf`实现将DOM元素生成为PDF文件并提供下载。文章首先讨论了`html2canvas`可能遇到的问题,并提供了该库的使用示例代码。随后,详细介绍了`html-to-image`库的安装和使用方法,展示了如何将DOM元素转换为Canvas,再利用`jspdf`生成PDF文件。最后,文章通过示例代码说明了整个转换和下载的过程,并展示了效果截图。
9 0
|
3月前
|
Unix Linux Shell
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
Sphinx是一个Python文档生成工具,它可以解析reStructuredText或Markdown格式的源代码注释,并生成多种输出格式,如HTML、LaTeX、PDF、ePub等。
|
4月前
使用LabVIEW打开默认应用程序中的文档(PDF,Word,Excel,Html)
使用LabVIEW的&quot;Open a Document on Disk.vi&quot;,存于&lt;LabVIEW&gt;\vi.lib\Platform\browser.llb,可让默认应用打开硬盘文档。此VI仅基础打开功能,高级控制推荐LabVIEW Report Generation Toolkit或ActiveX。注意:避免版本升级问题,最好将VI复制到vi.lib外的目录。
127 3
|
5月前
|
数据采集 移动开发 前端开发
springboot使用html模版导出pdf文档
springboot使用html模版导出pdf文档
|
5月前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
361 0
|
5月前
|
Python
python html(文件/url/html字符串)转pdf
python html(文件/url/html字符串)转pdf
37 0
|
5月前
|
前端开发 JavaScript API
使用 html2PDF 将内容导出为 PDF
使用 html2PDF 将内容导出为 PDF
354 0
|
11月前
html转word或pdf
html转word或pdf
150 0
|
前端开发 PHP
web开发HTML生成PDF的三种解决方案(服务器端mpdf、html2canvas.js、浏览器打印、PDF虚拟打印机)
web开发HTML生成PDF的三种解决方案(服务器端mpdf、html2canvas.js、浏览器打印、PDF虚拟打印机)
1337 0
html2canvas生成PDF并下载的解决方案
html2canvas生成PDF并下载的解决方案
160 0
下一篇
无影云桌面