虽然PDF文件适合用于打印和发布,但不适合所有类型的文档。例如,包含复杂图表和图形的文档可能无法在PDF中呈现得很好。但是HTML文件可以在任何可运行浏览器的计算机上进行阅读并显示。并且HTML还具有占用服务器资源较小,便于搜索引擎收录的特点。那么今天这篇文章就将展示如何通过Java应用程序将PDF文档转为HTML格式。下面是我整理的具体步骤及方法,并附上Java代码供大家参考。

  • 将PDF文档转换为HTML文件
  • 将PDF文档转换为嵌入SVG的HTML文件
  • 将PDF文档转换为HTML流

代码编译环境:

IntelliJ IDEA 2019(jdk 1.8.0)

PDF Jar包:Free Spire.PDF for Java 5.1.0

引入jar

导入方法1:

手动引入。将Free Spire.PDF for Java下载到本地,解压,找到lib文件夹下的Spire.PDF.jar文件。在IDEA中打开如下界面,将本地路径中的jar文件引入Java程序:

导入方法2:如果您想通过 Maven安装,则可以在 pom.xml 文件中添加以下代码导入 JAR 文件。

<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>5.1.0</version>

    </dependency>

</dependencies>

将PDF文档转换为HTML文件

我们可以使用 PdfDocument.saveToFile(String filename, FileFormat.HTML) 方法,可以直接将PDF文档转换为HTML文件。具体步骤如下。

  • 创建PdfDocument的对象。
  • 使用PdfDocument.loadFromFile() 方法加载PDF文件。
  • 使用PdfDocument.saveToFle() 方法将PDF文件另存为HTML文件。

完整代码

Java

import com.spire.pdf.*;

public class convertPDFToHTML {
public static void main(String[] args) { //创建PdfDocument的对象
PdfDocument pdf = new PdfDocument(); //加载PDF文件
pdf.loadFromFile("郁金香.pdf"); //将PDF文件保存为HTML文件
pdf.saveToFile("PDFToHTML.html",FileFormat.HTML);
pdf.close();
}
}

PDF文档转换为嵌入SVGHTML文件

PdfDocument.getConvertOptions().setPdfToHtmlOptions(true) 方法,可以在转换时嵌入SVG。将PDF文件转换为嵌入SVG的HTML文件的详细步骤如下。

  • 创建PdfDocument的对象。
  • 使用PdfDocument.loadFromFile() 方法加载PDF文件。
  • 使用PdfDocument.getConvertOptions().setPdfToHtmlOptions(true) 方法启用嵌入SVG。
  • 使用PdfDocument.saveToFle() 方法将PDF文件另存为HTML文件。

完整代码

Java

import com.spire.pdf.*;

public class convertPDFToHTMLEmbeddingSVG {
public static void main(String[] args) { //创建PdfDocument的对象
PdfDocument doc = new PdfDocument(); //加载PDF文件
doc.loadFromFile("郁金香.pdf"); //设置嵌入SVG
doc.getConvertOptions().setPdfToHtmlOptions(true); //将PDF文件另存为HTML文件
doc.saveToFile("PDFToHTMLEmbeddingSVG.html", FileFormat.HTML);
doc.close();
}
}

将PDF文档转换为HTML流

Spire.PDF for Java还支持将PDF文档转换为HTML流。具体步骤如下。

  • 创建PdfDocument的对象。
  • 使用PdfDocument.loadFromFile() 方法加载PDF文件。
  • 使用PdfDocument.saveToStream() 方法将PDF文件保存为HTML流。

完整代码

Java

import com.spire.pdf.*;

import java.io.*;

public class convertPDFToHTMLStream {
public static void main(String[] args) throws FileNotFoundException { //创建PdfDocument的对象
PdfDocument pdf = new PdfDocument(); //加载PDF文件
pdf.loadFromFile("郁金香.pdf"); //将PDF文件另存为HTML流
File outFile = new File("PDFToHTMLStream.html");
OutputStream outputStream = new FileOutputStream(outFile);
pdf.saveToStream(outputStream, FileFormat.HTML);
pdf.close();
}
}

效果图

—本文完—

如何通过Java代码将 PDF文档转为 HTML格式的更多相关文章

  1. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  2. 如何通过Java代码向Word文档添加文档属性

    Word文档属性包括常规.摘要.统计.内容.自定义.其中摘要包括标题.主题.作者.经理.单位.类别.关键词.备注等项目.属性相当于文档的名片,可以添加你想要的注释.说明等.还可以标注版权. 今天就为大 ...

  3. 如何通过C#/VB.NET 代码调整PDF文档的页边距

    PDF边距是页面主要内容区域和页面边缘之间的距离.与Word页边距不同,PDF文档的页边距很难更改.因为Adobe没有提供操作页边距的直接方法.但是,您可以通过缩放页面内容来改变页边距.本文将介绍如何 ...

  4. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  5. 如何通过 Java 代码隐藏 Word 文档中的指定段落

    在编辑Word文档时,我们有时需要将一些重要信息保密. 因此,可以隐藏它们以确保机密性. 在本文中,将向您介绍如何通过 Java 程序中的代码隐藏 Word 文档中的特定段落.下面是我整理的具体步骤, ...

  6. 利用Python将PDF文档转为MP3音频

    1. 转语音工具 微信读书有一个功能,可以将书里的文字转换为音频,而且声音优化的不错,比传统的机械朗读听起来舒服很多. 记得之前看到过Python有一个工具包,可以将文字转换为语音,支持英文和中文,而 ...

  7. 如何通过Java代码给Word文档添加水印?

    Word中可以为文档添加的水印分为两种形式:文字水印和图片水印.水印是一种数字保护的手段,在文档上添加水印可以传达有用信息,或者在不影响正文文字显示效果的同时,为打印文档增添视觉趣味,能起到传递信息, ...

  8. 如何通过Java 代码设置 Word 文档页边距

    页边距是指页面的边线到文字的距离.通常可在页边距内部的可打印区域中插入文字和图形,也可以将某些项目放置在页边距区域中(如页眉.页脚和页码等).在我们用的Word文档中,都会设置页边距统一标准格式,页边 ...

  9. [转载]Java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

  10. [原创]java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

随机推荐

  1. 【读书笔记】排列研究-模式避免-续篇Pattern Avoidance

    目录 多项式递归Polynomial Recursions P-recursive和c-recursive定义 例子:卡特兰数序列是P-recursive(或者说D-finite) 两个说明\(S_n ...

  2. 分布式 WEB应用中Session(会话管理)的变迁之路

    一.Session 介绍 Session 一词直译为 "会话",意指有始有终的一系列动作/消息.Session 是 Web 应用蓬勃发展的产物之一.在 Web 应用中隐含有&quo ...

  3. day12-SpringBoot数据库操作

    SpringBoot数据库操作 1.JDBC+HikariDataSource 在SpringBoot 2.x项目中,默认使用Hikari连接池管理数据源.相比于传统的 C3P0 .DBCP.Tomc ...

  4. Nmap学习

    Nmap学习 一.主机发现 1.全面扫描/综合扫描 nmap -A 192.168.142.201 2.Ping扫描 nmap -sP 192.168.142.0/24 3.免Ping扫描,穿透防火墙 ...

  5. jQ-DOM属性的操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. STM32 HAL库学习 (2) USART实验

    使用STM32F407 串口:PA9.PA10(利用CH340G驱动) 一. stm32f4xx_hal_uart.c 函数说明 HAL_UART_Init 函数 要使用一个外设首先要对它进行初始化, ...

  7. pcm音频的录制、播放及转换

    操作系统 :Windows10_x64 pcm格式为原始音频数据,有时候会遇到需要录制.播放及转换的情况,这里记录下. 一.录制pcm音频 这里演示下使用Audacity进行pcm音频录音的过程. A ...

  8. Linux服务器MySQL操作总结

    目录 1. Navicat连接服务器MySQL 2. 如何查看MySQL用户名和密码 3. 修改MySQL的登录密码 4. 安装MySQL开发包(Centos7版) 错误:error 1045 (28 ...

  9. python 启动外部程序四种方法

    在Python中,可以方便地使用os模块来运行其他脚本或者程序,这样就可以在脚本中直接使用其他脚本或程序提供的功能,而不必再次编写实现该功能的代码.为了更好地控制运行的进程,可以使用win32proc ...

  10. [Linux]Filesystem Hierarchy Standard/文件系统层次结构标准(FHS for Linux)

    1 文件系统层次结构标准 本篇文章为维基百科中关于FHS的译文,原文见 wiki:https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard ...