Java實現(xiàn)PDF轉(zhuǎn)為Word文檔的示例代碼
眾所周知,PDF文檔除了具有較強穩(wěn)定性和兼容性外, 還具有較強的安全性,在工作中可以有效避免別人無意中對文檔內(nèi)容進行修改。但與此同時,也妨礙了對文檔的正常的修改。這時我們可以將PDF轉(zhuǎn)為Word文檔進行修改或再編輯。使用軟件將 PDF 文檔轉(zhuǎn)換為 Word 文檔十分簡單,然而要在轉(zhuǎn)換時保持布局甚至字體格式卻并不容易。本文將分為以下兩部分介紹如何在保持布局的情況下將PDF轉(zhuǎn)為Word文檔。
- 將 PDF 轉(zhuǎn)換為固定布局的 Doc/Docx 文檔
- 將 PDF 轉(zhuǎn)換為流動形態(tài)的 Doc/Docx 文檔
固定布局模式轉(zhuǎn)換速度快,有利于最大程度保持 PDF 文件的原貌。但是,生成的文檔的可編輯性將受到限制,因為 PDF 中的每一行文本將在生成的 Word 文檔中顯示在單獨的框架中。
流動形態(tài)是一種完整的識別模式。轉(zhuǎn)換后的內(nèi)容不會以框架形式呈現(xiàn),并且生成的文檔的結(jié)構(gòu)是可流動的。生成的 Word 文檔很容易重新編輯,但看起來可能與原始 PDF 文件不同。
代碼編譯環(huán)境
IntelliJ IDEA 2018(jdk 1.8.0)
PDF Jar包:Free Spire.PDF for Java 5.1.0
1.引入jar包
導(dǎo)入方法1:
手動引入。將Free Spire.PDF for Java下載到本地,解壓,找到lib文件夾下的Spire.PDF.jar文件。在IDEA中打開如下界面,將本地路徑中的jar文件引入Java程序:

導(dǎo)入方法2:如果您想通過 Maven安裝,則可以在 pom.xml 文件中添加以下代碼導(dǎo)入 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 轉(zhuǎn)換為固定布局的 Doc/Docx 文檔
- 以下是將 PDF 轉(zhuǎn)為固定布局的Doc/Docx 文檔的具體步驟。
- 創(chuàng)建一個 PdfDocument 對象。
- 使用 PdfDocument.loadFromFile() 方法加載 PDF 文件。
- 使用 PdfDocument.saveToFile(String fileName, FileFormat fileFormat) 方法將 PDF 文檔轉(zhuǎn)換為 Doc 或 Docx 格式文件。
完整代碼
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
public class ConvertPdfToWordWithFixedLayout {
public static void main(String[] args) {
//創(chuàng)建一個 PdfDocument 對象
PdfDocument doc = new PdfDocument();
//加載 PDF 文件
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//將PDF轉(zhuǎn)換為Doc格式文件并保存
doc.saveToFile("output/ToDoc.doc", FileFormat.DOC);
//將PDF轉(zhuǎn)換為Docx格式文件并保存
doc.saveToFile("output/ToDocx.docx", FileFormat.DOCX);
doc.close();
}
}將 PDF 轉(zhuǎn)換為流動形態(tài)的 Doc/Docx 文檔
以下是將 PDF 轉(zhuǎn)換為流動形態(tài)的 Doc/Docx 文檔的具體步驟:
- 創(chuàng)建一個 PdfDocument 對象。
- 使用 PdfDocument.loadFromFile() 方法加載 PDF 文件。
- 使用 PdfDocument. getConvertOptions().setConvertToWordUsingFlow() 方法將轉(zhuǎn)換模式設(shè)置為流。
- 使用 PdfDocument.saveToFile(String fileName, FileFormat fileFormat) 方法將 PDF 文檔轉(zhuǎn)換為 Doc 或 Docx 格式文件。
完整代碼
import com.spire.pdf.FileFormat;
import com.spire.pdf.PdfDocument;
public class ConvertPdfToWordWithFlowableStructure {
public static void main(String[] args) {
//創(chuàng)建一個 PdfDocument 對象
PdfDocument doc = new PdfDocument();
//加載 PDF 文件
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf");
//將 PDF 轉(zhuǎn)換為流動形態(tài)的Word
doc.getConvertOptions().setConvertToWordUsingFlow(true);
//將PDF轉(zhuǎn)換為Doc格式文件并保存
doc.saveToFile("output/ToDoc.doc", FileFormat.DOC);
//將PDF轉(zhuǎn)換為Docx格式文件并保存
doc.saveToFile("output/ToDocx.docx", FileFormat.DOCX);
doc.close();
}
}效果圖

到此這篇關(guān)于Java實現(xiàn)PDF轉(zhuǎn)為Word文檔的示例代碼的文章就介紹到這了,更多相關(guān)Java PDF轉(zhuǎn)Word內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Idea使用插件實現(xiàn)逆向工程搭建SpringBoot項目的圖文教程
這篇文章主要介紹了Idea使用插件實現(xiàn)逆向工程搭建SpringBoot項目,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
springboot整合H2內(nèi)存數(shù)據(jù)庫實現(xiàn)單元測試與數(shù)據(jù)庫無關(guān)性
本篇文章主要介紹了springboot整合H2內(nèi)存數(shù)據(jù)庫實現(xiàn)單元測試與數(shù)據(jù)庫無關(guān)性,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01
基于Jenkins+Maven+Gitea+Nexus搭建CICD環(huán)境的方式
這篇文章主要介紹了基于Jenkins+Maven+Gitea+Nexus從0到1搭建CICD環(huán)境,大家都知道Nexus是一套“開箱即用”的系統(tǒng)不需要數(shù)據(jù)庫,它使用文件系統(tǒng)加Lucene來組織數(shù)據(jù),需要的朋友可以參考下2022-01-01
RabbitMQ消息隊列中多路復(fù)用Channel信道詳解
這篇文章主要介紹了RabbitMQ消息隊列中多路復(fù)用Channel信道詳解,消息Message是指在應(yīng)用間傳送的數(shù)據(jù),消息可以非常簡單,比如只包含文本字符串,也可以更復(fù)雜,可能包含嵌入對象,需要的朋友可以參考下2023-08-08
Spring實戰(zhàn)之Bean的作用域singleton和prototype用法分析
這篇文章主要介紹了Spring實戰(zhàn)之Bean的作用域singleton和prototype用法,結(jié)合實例形式分析了Bean的作用域singleton和prototype相關(guān)使用方法及操作注意事項,需要的朋友可以參考下2019-11-11

