众所周知,PDF文档除了具有较强稳定性和兼容性外, 还具有较强的安全性,在工作中可以有效避免别人无意中对文档内容进行修改。但与此同时,也妨碍了对文档的正常的修改。这时我们可以将PDF转为Word文档进行修改或再编辑。使用软件将 PDF 文档转换为 Word 文档十分简单,然而要在转换时保持布局甚至字体格式却并不容易。本文将分为以下两部分介绍如何在保持布局的情况下将PDF转为Word文档。

  • 将 PDF 转换为固定布局的 Doc/Docx 文档
  • 将 PDF 转换为流动形态的 Doc/Docx 文档

固定布局模式转换速度快,有利于最大程度保持 PDF 文件的原貌。但是,生成的文档的可编辑性将受到限制,因为 PDF 中的每一行文本将在生成的 Word 文档中显示在单独的框架中。

流动形态是一种完整的识别模式。转换后的内容不会以框架形式呈现,并且生成的文档的结构是可流动的。生成的 Word 文档很容易重新编辑,但看起来可能与原始 PDF 文件不同。

代码编译环境:

IntelliJ IDEA 2018(jdk 1.8.0)

PDF Jar包:Free Spire.PDF for Java 5.1.0

1.引入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 转换为固定布局的 Doc/Docx 文档

  • 以下是将 PDF 转为固定布局的Doc/Docx 文档的具体步骤。
  • 创建一个 PdfDocument 对象。
  • 使用 PdfDocument.loadFromFile() 方法加载 PDF 文件。
  • 使用 PdfDocument.saveToFile(String fileName, FileFormat fileFormat) 方法将 PDF 文档转换为 Doc 或 Docx 格式文件。

完整代码

Java

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument; public class ConvertPdfToWordWithFixedLayout { public static void main(String[] args) { //创建一个 PdfDocument 对象
PdfDocument doc = new PdfDocument(); //加载 PDF 文件
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //将PDF转换为Doc格式文件并保存
doc.saveToFile("output/ToDoc.doc", FileFormat.DOC); //将PDF转换为Docx格式文件并保存
doc.saveToFile("output/ToDocx.docx", FileFormat.DOCX);
doc.close();
}
}

将 PDF 转换为流动形态的 Doc/Docx 文档

以下是将 PDF 转换为流动形态的 Doc/Docx 文档的具体步骤:

  • 创建一个 PdfDocument 对象。
  • 使用 PdfDocument.loadFromFile() 方法加载 PDF 文件。
  • 使用 PdfDocument. getConvertOptions().setConvertToWordUsingFlow() 方法将转换模式设置为流。
  • 使用 PdfDocument.saveToFile(String fileName, FileFormat fileFormat) 方法将 PDF 文档转换为 Doc 或 Docx 格式文件。

完整代码

Java

import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument; public class ConvertPdfToWordWithFlowableStructure { public static void main(String[] args) { //创建一个 PdfDocument 对象
PdfDocument doc = new PdfDocument(); //加载 PDF 文件
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); //将 PDF 转换为流动形态的Word
doc.getConvertOptions().setConvertToWordUsingFlow(true); //将PDF转换为Doc格式文件并保存
doc.saveToFile("output/ToDoc.doc", FileFormat.DOC); //将PDF转换为Docx格式文件并保存
doc.saveToFile("output/ToDocx.docx", FileFormat.DOCX);
doc.close();
}
}

效果图

—本文完—

如何通过Java应用程序将 PDF转为Word文档的更多相关文章

  1. 判断pdf、word文档、图片等文件类型(格式)、大小的简便方法

    判断pdf.word文档.图片等文件类型(格式).大小的简便方法 很久没发文了,今天有时间就写一下吧. 关于上传文件,通常我们都需要对其进行判断,限制上传的类型,如果是上传图片,我们甚至会把图片转化成 ...

  2. Python处理PDF和Word文档常用的方法

    Python处理PDF和Word文档的模块是PyPDF2,使用之前需要先导入. 打开一个PDF文档的操作顺序是:用open()函数打开文件并用一个变量来接收,然后把变量给传递给PdfFileReade ...

  3. Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  4. Java 设置、删除、获取Word文档背景(基于Spire.Cloud.SDK for Java)

    本文介绍使用Spire.Cloud.SDK for Java 提供的BackgroundApi接口来操作Word文档背景的方法,可设置背景,包括设置颜色背景setBackgroundColor().图 ...

  5. pdf及word文档的读取 pyPDF2,docx

    #!python3 #-*- coding:utf8 -*- #PyPDF2可能会打不开某些pdf文档,也不能提取图片,图表或者其他媒介从PDF文件中.但是它能提取文本从PDF中,转化为字符. imp ...

  6. 【Java】用Freemarker完美导出word文档(带图片)

    Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...

  7. JAVA实现在线查看PDF和office文档

    一个项目中要做一个在线预览附件(和百度文库差不多)的小功能点,楼主在开发过程中踩了很多坑的同时也总结了一些方法,仅供广大猿友参考,那么要实现这个小功能,目前主要是有如下3种可行的实现方式,下面先说实现 ...

  8. PDF转word文档

    本文未对扫描版的PDF实验,但是可编辑PDF版本可以转换为word而且转换后的word是可编辑的. 1.从http://xiazai.zol.com.cn/detail/33/326858.shtml ...

  9. C#代码将html样式文件转为Word文档

    首先有个这样的需求,将以下网页内容下载为Word文件. html代码: <div class="modal-body">    <div style=" ...

  10. Python处理PDF和Word文档常用的方法(二)

    Python处理word时,需要安装和导入python-docx模块. 安装命令:pip install python-docx 导入命令:import docx 编码编写顺序:用docx.Docum ...

随机推荐

  1. python爬虫下载小说

    1. from urllib.request import urlopen from urllib import request from bs4 import BeautifulSoup from ...

  2. linux重置密码

    方法一: 进入grub菜单界面 按e键 在linux开头的行按ctrl+e 或者end跳到行尾,输入rd.break 按ctrl+x mount -o remount,rw /sysroot chro ...

  3. 国产图形化的msf——Viper初体验

    目录 免责声明: Viper简介 安装 使用 免责声明: 本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担,产生的一切风险与本文作 ...

  4. Web浏览器Linux Shell(shellinabox解决通用区服务器Linux Shell访问很麻烦的问题)

    问题背景 通用区服务器的Linux Shell访问,比较麻烦 需要动态密码(手机上装Token)连跳板机,再用跳板机上的终端工具连Linux Shell 改进方法 使用shellinabox,就能直接 ...

  5. Linux 交叉编译使用代码覆盖GCOV及LCOV

    1. GCOV GCOV是GCC自带的代码覆盖工具,GCOV. 在 GCC 编译的时加入特殊的编译选项,生成可执行文件,和 *.gcno: 运行(测试)生成的可执行文件,生成了 *.gcda 数据文件 ...

  6. K8S kubesphere安装mysql

    原先我们使用Docker按照mysql时候的命令 docker run -p 3306:3306 --name mysql-01 \ -v /mydata/mysql/log:/var/log/mys ...

  7. laravel ajax用法

    $.ajax({ url:"index.php?r=sms/sms", type:"POST", data:{phone:mobileNum,_csrf:csr ...

  8. 【ASP.NET Core】MVC控制器的各种自定义:特性化的路由规则

    MVC的路由规则配置方式比较多,咱们用得最多的是两种: A.全局规则.就是我们熟悉的"{controller}/{action}". app.MapControllerRoute( ...

  9. Qt_CLion

    目录 安装Qt和CLion 配置 CLion配置Qt的资源文件系统 在项目根文件夹下创建一个资源文件夹 在项目根目录下创建一个qrc文件 安装Qt和CLion 相关的安装网上有很多教程,安装步骤这里不 ...

  10. CLion和动态链接库

    目录 生成链接库 链接库的使用 生成链接库 创建一个library项目 在项目中写好自己的代码 cmakelist cmake_minimum_required(VERSION 3.21) proje ...