本文介绍如何在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 Xvfb
Ubuntu 系统: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格式、超链接等等:
(完)