Java實(shí)現(xiàn)PDF轉(zhuǎn)為Word文檔的示例代碼
眾所周知,PDF文檔除了具有較強(qiáng)穩(wěn)定性和兼容性外, 還具有較強(qiáng)的安全性,在工作中可以有效避免別人無意中對文檔內(nèi)容進(jìn)行修改。但與此同時(shí),也妨礙了對文檔的正常的修改。這時(shí)我們可以將PDF轉(zhuǎn)為Word文檔進(jìn)行修改或再編輯。使用軟件將 PDF 文檔轉(zhuǎn)換為 Word 文檔十分簡單,然而要在轉(zhuǎn)換時(shí)保持布局甚至字體格式卻并不容易。本文將分為以下兩部分介紹如何在保持布局的情況下將PDF轉(zhuǎn)為Word文檔。
- 將 PDF 轉(zhuǎn)換為固定布局的 Doc/Docx 文檔
- 將 PDF 轉(zhuǎn)換為流動形態(tài)的 Doc/Docx 文檔
固定布局模式轉(zhuǎn)換速度快,有利于最大程度保持 PDF 文件的原貌。但是,生成的文檔的可編輯性將受到限制,因?yàn)?PDF 中的每一行文本將在生成的 Word 文檔中顯示在單獨(dú)的框架中。
流動形態(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)建一個(gè) 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)建一個(gè) 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)建一個(gè) 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)建一個(gè) 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實(shí)現(xiàn)PDF轉(zhuǎn)為Word文檔的示例代碼的文章就介紹到這了,更多相關(guān)Java PDF轉(zhuǎn)Word內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java基于動態(tài)規(guī)劃法實(shí)現(xiàn)求最長公共子序列及最長公共子字符串示例
這篇文章主要介紹了Java基于動態(tài)規(guī)劃法實(shí)現(xiàn)求最長公共子序列及最長公共子字符串,簡單描述了動態(tài)規(guī)劃法的概念、原理,并結(jié)合實(shí)例形式分析了Java使用動態(tài)規(guī)劃法求最長公共子序列以及最長公共子字符串相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08springboot各種格式轉(zhuǎn)pdf的實(shí)例代碼
這篇文章主要介紹了springboot各種格式轉(zhuǎn)pdf的實(shí)例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Java觀察者設(shè)計(jì)模式(Observable和Observer)
這篇文章主要介紹了 Java觀察者設(shè)計(jì)模式(Observable和Observer)的相關(guān)資料,需要的朋友可以參考下2015-12-12