本文介绍如何通过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-iceblue</id>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>4.4.1</version>
</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—

最新文章

  1. AC日记——滑动窗口 洛谷 P1886
  2. Android 解析聊天表情的笔记
  3. SQLMap Tamper Scripts Update 04/July/2016
  4. MySQL 子查询与连接操作笔记
  5. 1116Xlinux初学习之正则表达式和通配符
  6. iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
  7. html与js的取值,赋值
  8. [js开源组件开发]js手机联动选择地区仿ios 开源git
  9. 原子操作 Interlocked系列函数
  10. Junit单元测试学习笔记三
  11. Android开发之读写联系人
  12. ssh -CT -o BatchMode=yes 用户名@主机名
  13. Python 学习之urllib模块---用于发送网络请求,获取数据(4)
  14. CMD获取当前目录的绝对路径
  15. [测试题]line
  16. springboot的打包方式
  17. npm WARN enoent ENOENT: no such file or directory, open &#39;C:\Users\package.json&#39;
  18. oracle函数nvl, nvl2, nullif
  19. 【PyQt5-Qt Designer】工具箱(QToolBox)控件的使用
  20. swift -基础语法

热门文章

  1. LeetCode Top 100 Liked 点赞最高的 100 道算法题
  2. 【LeetCode】1471. 数组中的 k 个最强值 The k Strongest Values in an Array (Python)
  3. 郑厂长系列故事——体检(hdu 4519)
  4. Proximal Algorithms 4 Algorithms
  5. mybatis练习-获取拥有“普通用户”角色的所有用户信息,要求查询结果除了包含用户自身信息,还包括角色名和角色创建时间。
  6. 射频FEM介绍
  7. linux rm 删除命令
  8. playwright--自动化(三): 跳过检测 使用正常谷歌 指定用户数据 下载文件
  9. Log4j2进阶使用(更多高级特性)
  10. Kubernetes 部署 Kubernetes-Dashboard v2.0.0 尝鲜