package com.springboot.springboot.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
public class Pdf2word {
public static void main(String[] args) {
try {
String pdfFile = "D:/XXX.pdf";
PDDocument doc = PDDocument.load(new File(pdfFile));
int pagenumber = doc.getNumberOfPages();
pdfFile = pdfFile.substring(0, pdfFile.lastIndexOf("."));
String fileName = pdfFile + ".doc";
File file = new File(fileName);
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(fileName);
Writer writer = new OutputStreamWriter(fos, "UTF-8");
PDFTextStripper stripper = new PDFTextStripper();
stripper.setSortByPosition(true);// 排序
stripper.setStartPage(1);// 設置轉換的開始頁
stripper.setEndPage(pagenumber);// 設置轉換的結束頁
stripper.writeText(doc, writer);
writer.close();
doc.close();
System.out.println("pdf轉換word成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
pom.xml
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.12</version>
</dependency>
注:沒有格式的處理,轉換出來的word文檔中僅僅是PDF中的可提取的文字內容,並且沒有排版