您的位置:

itextpdfhtml转pdf

一、概述

在进行网页开发和浏览过程中,我们通常会遇到将HTML网页转化成PDF格式文件的需求。itextpdfhtml转pdf是一种基于Java语言实现的将HTML网页转化成PDF格式文件的开源工具,并且在转化的过程中能够保留HTML网页中的样式、布局等元素。

下面就itextpdfhtml转pdf进行详细介绍。

二、转换过程详解

1. 导入依赖

要使用itextpdfhtml转pdf,首先需要在项目中导入相关的依赖包。来看一下示例代码:


  <dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf-html2pdf</artifactId>
    <version>5.5.13.2</version>
  </dependency>

2. 编写转化代码

接着就可以开始编写itextpdfhtml转pdf的代码了。具体过程如下:

第一步:创建PdfWriter和document对象


  String pdfFilePath = "生成的PDF文件路径";
  OutputStream outputStream = new FileOutputStream(pdfFilePath); 
  Document document = new Document();
  PdfWriter writer = PdfWriter.getInstance(document, outputStream);
  document.open();

第二步:获取html文件并转化为xhtml格式

由于itextpdfhtml转pdf需要将html文件转化为xhtml格式,因此需要使用Jsoup等库获取HTML文件并将其转化为xhtml格式。


  String htmlFilePath = "待转换的HTML文件路径";
  File input = new File(htmlFilePath); 
  Document doc = Jsoup.parse(input, "UTF-8");
  doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
  String html = doc.html();
  ByteArrayInputStream inputStream = new ByteArrayInputStream(html.getBytes("UTF-8"));

第三步:使用XMLWorkerHelper将xhtml文件转化为pdf文件


  XMLWorkerHelper.getInstance().parseXHtml(writer, document, inputStream);

第四步:关闭Document和OutputStream对象


  document.close();
  outputStream.close();

接下来就是完整的代码示例:


import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.tool.xml.XMLWorkerHelper;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class HtmlToPdfUtil {

    public static void htmlToPdf(String htmlFilePath, String pdfFilePath) throws Exception {
        OutputStream outputStream = new FileOutputStream(pdfFilePath);
        Document document = new Document();
        PdfWriter writer = PdfWriter.getInstance(document, outputStream);
        document.open();

        File input = new File(htmlFilePath);
        Document doc = Jsoup.parse(input, "UTF-8");
        doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
        String html = doc.html();
        ByteArrayInputStream inputStream = new ByteArrayInputStream(html.getBytes("UTF-8"));

        XMLWorkerHelper.getInstance().parseXHtml(writer, document, inputStream);

        document.close();
        outputStream.close();
    }
}

三、mht转换成pdf软件

1. SaveAs PDF插件

SaveAs PDF是一款在Chrome浏览器上使用的插件,可以将正在浏览的网页快速转化为PDF格式文件并进行下载。使用该插件可以方便快捷地生成PDF文件,同时也能够保留对应网页的格式、布局等元素。

2. PDF24 Creator

PDF24 Creator是一款免费的PDF创建和转换软件,可以帮助用户将各种文件格式转换成PDF格式,包括mhtml文件。该软件简单易用,操作便捷,同时也支持将多个文件进行合并成一个PDF文件。

3. Universal Document Converter

Universal Document Converter是一款可以将各种文件格式转换为PDF或其他图片格式的软件,包括mhtml文件。该软件使用简单,支持多个文件的批量转换,同时也能够进行文件压缩和保护等操作。

四、总结

itextpdfhtml转pdf是一种基于Java语言实现的将HTML网页转化成PDF格式文件的开源工具,能够保留HTML网页中的样式、布局等元素。同时,通过SaveAs PDF、PDF24 Creator、Universal Document Converter等软件,可以使得mhtml文件快速转换成PDF格式文件,方便快捷地进行阅读和转发。