Java 将Html转为PDF(一)

本文介绍如何在Java程序中将html文件转换成PDF文件。转换时,需要注意以下两点:

一、需要使用转换插件

可根据不同的系统来下载对应的插件,下载地址:windows-x86.zipwindows-x64.zipmacosx_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格式、超链接等等:

(完)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
你好!可以使用第三方库iText来实现将HTML文件转为PDF文件的操作。具体步骤如下: 1. 导入iText库,可以通过 Maven 或 Gradle 进行导入。 2. 创建一个PdfDocument对象,用于保存输出的PDF文件。 3. 创建一个Converter对象,用于将HTML文件转为PDF文件。 4. 调用Converter对象的convertToPdf方法,将HTML文件转为PDF文件,并将结果输出到PdfDocument对象中。 5. 关闭PdfDocument对象,保存输出的PDF文件。 具体实现代码如下: ```java import com.itextpdf.html2pdf.ConverterProperties; import com.itextpdf.html2pdf.HtmlConverter; import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class HtmlToPdfConverter { public static void main(String[] args) throws IOException { // 输入的HTML文件路径 String htmlFilePath = "input.html"; // 输出的PDF文件路径 String pdfFilePath = "output.pdf"; // 创建PdfDocument对象 PdfWriter writer = new PdfWriter(new FileOutputStream(pdfFilePath)); PdfDocument pdfDoc = new PdfDocument(writer); // 创建Converter对象 ConverterProperties converterProperties = new ConverterProperties(); HtmlConverter converter = HtmlConverter.createConverter(new FileInputStream(new File(htmlFilePath)), pdfDoc, converterProperties); // 将HTML文件转为PDF文件 converter.convert(); // 关闭PdfDocument对象 pdfDoc.close(); System.out.println("HTML文件已成功转为PDF文件!"); } } ``` 希望这个方法能够帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值