本文介绍如何通过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—

Java 将PDF转为HTML时保存到流的更多相关文章

  1. Java 将PDF转为PDF/A

    通过将PDF格式转换为PDF/A格式,可保护文档布局.格式.字体.大小等不受更改,从而实现文档安全保护的目的,同时又能保证文档可读.可访问.本篇文章,将通过Java后端程序代码展示如何将PDF转为符合 ...

  2. Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A

    本文将介绍通过Java编程来实现PDF文档转换的方法.包括: 1. PDF转为Word 2. PDF转为图片 3. PDF转为Html 4. PDF转为SVG 4.1 将PDF每一页转为单个的SVG ...

  3. Java 将PDF转为线性PDF

    线性化PDF文件是PDF文件的一种特殊格式,可以通过Internet更快地进行查看.线性化的PDF,在页面数量很多的情况下,更能突出表现出快速浏览的优势.下面是通过后端Java程序实现将PDF文件转为 ...

  4. Java中关于时间日期格式保存到mysql的问题

    首先在设置数据库的时间日期字段的时候要先确定好采用何种类型,DATETIME. TIMESTAMP.DATE.TIME.YEAR. 其中datetime.time用的比较多,对应java中生成的poj ...

  5. Java实现Qt的SIGNAL-SLOT机制(保存到Map中,从而将它们关联起来,收到信号进行解析,最后反射调用)

    SIGNAL-SLOT是Qt的一大特色,使用起来十分方便.在传统的AWT和Swing编程中,我们都是为要在 监听的对象上添加Listener监听器.被监听对象中保存有Listener的列表,当相关事件 ...

  6. Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNG、PDF和XPS互转(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了接口PdfConvertApi通过convert()方法将PDF文档以及XPS文档转为指定文档格式,如转PDF为Word(支持Docx.Doc). ...

  7. Java 将Html转为PDF(二)

    前面介绍了如何通过插件的方式将Html文件转为PDF,该方法需要使用Spire.PDF for Java 3.6.6或者之后的新版本,可根据自己的系统选择不同插件来实现转换.本文提供另外一种转换方法, ...

  8. 【redis,1】java操作redis: 将string、list、map、自己定义的对象保存到redis中

    一.操作string .list .map 对象 1.引入jar: jedis-2.1.0.jar   2.代码 /**      * @param args      */     public s ...

  9. Java将彩色PDF转为灰度

    本文以Java代码为例介绍如何实现将彩色PDF文件转为灰度(黑白)的PDF文件,即:将PDF文档里面的彩色图片或者文字等通过调用PdfGrayConverter.toGrayPdf()方法转为文档页面 ...

随机推荐

  1. SpringCloud(三) Zuul

    Zuul 有了eureka . feign 和 hystrix 后,基本上就搭建了简易版的分布式项目,但仍存在一些问题,比如: 1.如果我们的微服务中有很多个独立服务都要对外提供服务,那么我们要如何去 ...

  2. 【LeetCode】948. Bag of Tokens 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 贪心算法 日期 题目地址:https://leetc ...

  3. 【LeetCode】395. Longest Substring with At Least K Repeating Characters 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/longest- ...

  4. 【LeetCode】700. Search in a Binary Search Tree 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 日期 题目地址:https://leetcod ...

  5. 昆泰CH7511B方案|EDP转LVDS资料|CS5211pin to pin 替代CH7511B电路设计

    Chrontel的CH7511B是一种低成本.低功耗的半导体器件,它将嵌入式DisplayPort信号转换为LVDS(低压差分信号).这款创新的DisplayPort接收机带有集成LVDS发射机,专为 ...

  6. CS5211与PS8625参数差异|CS5211完全兼容PS8625|普瑞PS8625替代

    PS8625是一个DP显示端口 到LVDS转换器芯片,利用GPU和显示端口(DP) 或嵌入式显示端口(eDP) 输出和接受LVDS输入的显示面板.PS8625实现双通道DP输入,双链路LVDS输出.P ...

  7. Linux远程操作

    应用场景 公司开发时候,具体的应用场景是这样的1.linux服务器是开发小组共享 正式上线的项目是运行在公网 因此程序员需要远程登录到Linux进行项目管理或者开发 远程登录客户端有Xshell6,X ...

  8. VMware客户端vSphere Web Client新建虚拟机

    1.说明 vSphere Web Client是为管理员提供的一款通用的. 基于浏览器的VMware管理工具, 能够监控并管理VMware基础设施. 由于需要登录的宿主机安装的是ESXi-6.5.0, ...

  9. JavaScript 钩子

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <script s ...

  10. linux 之 mysql数据库备份与恢复

    备份 mysqldump -uroot -p123 --databases test > ~/test.sql --databases 指定数据库 恢复 mysql -uroot -p123 & ...