java读取pdf文件内容

使用JAVA从PDF中获取文字信息,目前只能读取文字型PDF。图片型PDF尚在研究
1.导入Maven依赖

<dependency>
  <groupId>org.apache.pdfbox</groupId>
  <artifactId>pdfbox</artifactId>
</dependency>

2.示例代码

package com.example.pdfuntil;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.pdfbox.text.PDFTextStripperByArea;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class ReadPdf {
    public static void main(String[] args) {
        String inputPath = "C:/example/PdfTest/pdf_demo1.pdf";
        String outputPath = "C:/example/PdfTest/demo.txt";
        readPdf(inputPath, outputPath);
    }

    public static void readPdf(String inputPath, String outputPath) {
        try (PDDocument document = PDDocument.load(new File(inputPath))) {

            if (!document.isEncrypted()) {

                PDFTextStripperByArea stripper = new PDFTextStripperByArea();

                stripper.setSortByPosition(true);

                PDFTextStripper tStripper = new PDFTextStripper();

                String pdfFileInText = tStripper.getText(document);

                String[] lines = pdfFileInText.split("\\r?\\n");

                FileWriter fw = new FileWriter(outputPath);

                for (String line : lines) {
                    System.out.println(line);
                    fw.write(line + "\n");
                }

                fw.close();

                document.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
posted @   xiaolifc  阅读(2982)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示