Java 将PDF转为HTML时保存到流
2024-09-21 22:46:47
本文介绍如何通过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—
最新文章
- AC日记——滑动窗口 洛谷 P1886
- Android 解析聊天表情的笔记
- SQLMap Tamper Scripts Update 04/July/2016
- MySQL 子查询与连接操作笔记
- 1116Xlinux初学习之正则表达式和通配符
- iOS9 beta 请求出现App Transport Security has blocked a cleartext HTTP (http://)
- html与js的取值,赋值
- [js开源组件开发]js手机联动选择地区仿ios 开源git
- 原子操作 Interlocked系列函数
- Junit单元测试学习笔记三
- Android开发之读写联系人
- ssh -CT -o BatchMode=yes 用户名@主机名
- Python 学习之urllib模块---用于发送网络请求,获取数据(4)
- CMD获取当前目录的绝对路径
- [测试题]line
- springboot的打包方式
- npm WARN enoent ENOENT: no such file or directory, open &#39;C:\Users\package.json&#39;
- oracle函数nvl, nvl2, nullif
- 【PyQt5-Qt Designer】工具箱(QToolBox)控件的使用
- swift -基础语法
热门文章
- LeetCode Top 100 Liked 点赞最高的 100 道算法题
- 【LeetCode】1471. 数组中的 k 个最强值 The k Strongest Values in an Array (Python)
- 郑厂长系列故事——体检(hdu 4519)
- Proximal Algorithms 4 Algorithms
- mybatis练习-获取拥有“普通用户”角色的所有用户信息,要求查询结果除了包含用户自身信息,还包括角色名和角色创建时间。
- 射频FEM介绍
- linux rm 删除命令
- playwright--自动化(三): 跳过检测 使用正常谷歌 指定用户数据 下载文件
- Log4j2进阶使用(更多高级特性)
- Kubernetes 部署 Kubernetes-Dashboard v2.0.0 尝鲜