1. Apache PDFBox
Apache PDFBox 是一个开源的 Java 库,用于创建和操作 PDF 文档。虽然 PDFBox 本身没有直接支持 PDF 转 Word 的功能,但它可以提取 PDF 内容,你可以结合其他方法将这些内容写入 Word。
添加依赖
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version> <!-- 检查是否有最新版本 -->
</dependency>
使用示例
你可以使用 PDFBox 提取文本,然后使用 Apache POI 库将其写入 Word 文档。
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class PdfToWordConverter {
public static void main(String[] args) {
String pdfFilePath = "path/to/input.pdf";
String wordFilePath = "path/to/output.docx";
try {
convertPdfToWord(pdfFilePath, wordFilePath);
System.out.println("PDF converted to Word successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void convertPdfToWord(String pdfFilePath, String wordFilePath) throws IOException {
PDDocument document = PDDocument.load(new FileInputStream(pdfFilePath));
PDFTextStripper stripper = new PDFTextStripper();
String pdfText = stripper.getText(document);
document.close();
// 创建 Word 文档并写入文本
XWPFDocument wordDocument = new XWPFDocument();
XWPFParagraph paragraph = wordDocument.createParagraph();
paragraph.createRun().setText(pdfText);
try (FileOutputStream out = new FileOutputStream(wordFilePath)) {
wordDocument.write(out);
}
wordDocument.close();
}
}