Java 将Html转为PDF(一)
本文介绍如何在Java程序中将html文件转换成PDF文件。转换时,需要注意以下两点:
一、需要使用转换插件
可根据不同的系统来下载对应的插件,下载地址:windows-x86.zip, windows-x64.zip, macosx_x64.zip, 及linux_x64.zip,下载后需要将插件包解压到本地指定文件夹路径。
二、需要使用到PDF库,Spire.PDF for Java 版本: 3.6.6及以后的新版本
可通过2种方法导入jar:
1. 可以手动下载jar包,并解压将lib文件夹下的jar文件导入Java程序;
2. 创建Maven项目程序,并在pom.xml文件中配置Maven仓库路径,并指定Spire.PDF for Java的Maven依赖,然后导入jar。
最终jar文件导入效果如下:
提示:该转换方法需要 GUI(图形用户界面)的支持。对于未安装图形用户界面的服务器,请按照以下步骤进行转换。
- 安装 Xvfb
Centos 系统:yum install XvfbUbuntu 系统:apt-get install Xvfb
- 使用 xvfb-run 运行 jar 包
xvfb-run java -jar HTMLToPDF.jar
Java 转换代码
import com.spire.pdf.graphics.PdfMargins; import com.spire.pdf.htmlconverter.qt.HtmlConverter; import com.spire.pdf.htmlconverter.qt.Size; public class HtmlToPDF { public static void main(String[] args) { //定义需要转换的HTML String url = "https://www.baidu.com/"; //转换后的结果文档(结果文档保存在Java项目程序文件下) String fileName = "HtmlToPDF.pdf"; //解压后的插件本地地址(这里是把插件包放在了Java项目文件夹下,也可以自定义其他本地路径) String pluginPath = "C:\\Users\\Administrator\\IdeaProjects\\Conversion_PDF\\plugins-windows-x64"; HtmlConverter.setPluginPath(pluginPath); //调用方法转换到PDF并设置PDF尺寸 HtmlConverter.convert(url, fileName, true, 1000, new Size(700f, 800f), new PdfMargins(0)); } }
Html转PDF效果如下,保留了原html格式、超链接等等:
(完)