Java 将PDF转为HTML时保存到流


本文介绍如何通过Java后端程序代码将PDF文件转为HTML,并将转换后的HTML文件保存到流。在实现转换时,可设置相关转换属性,如:是否嵌入SVG、是否嵌入图片等。下面是实现转换的方法和步骤:

1. 导入jar

本次转换的方法通过导入Free Spire.PDF for Java中的Spire.Pdf.jar免费jar来实现。可按照如下两种方法中的任意一种导入jar:

  方法1:从Maven仓库中导入。在pom.xml中配置如下内容:

<repositories>
        <repository>
            <id>com.e-iceblueid>
            <url>https://repo.e-iceblue.cn/repository/maven-public/url>
        repository>
    repositories>
<dependencies>
    <dependency>
        <groupId>e-icebluegroupId>
        <artifactId>spire.pdf.freeartifactId>
        <version>4.4.1version>
    dependency>
dependencies>

方法2:下载 jar 包到本地,解压,找到lib文件夹下的Spire.Pdf.jar文件。然后执行如下图步骤完成导入:

 

 

2. Java代码

将PDF转换为HTML时,主要通过以下步骤中的类及方法实现:

  • 实例化PdfDocument类的对象,并通过PdfDocument.loadFromFile(String filename)方法加载PDF文档
  • PdfDocument. getConvertOptions().setPdfToHtmlOptions(boolean useEmbeddeSvg, boolean useEmbeddeImg)方法设置转换为HTML格式时的相关转换属性。
  • PdfDocument.saveToStream(OutputStream stream, FileFormate format)方法转换成HTML时保存到流。

Java

import com.spire.pdf.*;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class SaveToStream {
    public static void main(String[] args) throws FileNotFoundException {
        //加载PDF文档
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("咖啡豆.pdf");

        //设置useEmbeddedSvg和 useEmbeddedImg布尔值为true
        pdf.getConvertOptions().setPdfToHtmlOptions(true,true);

        //保存到流
        File outFile = new File("toHTML.html");
        OutputStream outputStream = new FileOutputStream(outFile);
        pdf.saveToStream(outputStream, FileFormat.HTML);
        pdf.close();
    }
}

3. 执行代码后,生成html文件。

—End—