Apache PDFBox 是一个开源的 Java 库,用于创建和操作 PDF 文档。虽然 PDFBox 本身没有直接支持 PDF 转 Word 的功能,但它可以提取 PDF 内容,你可以结合其他方法将这些内容写入 Word。
添加依赖
-
org.apache.pdfbox -
pdfbox -
2.0.24
使用示例
你可以使用 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();
- }
- }