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();
        }
    }

}

Original: https://www.cnblogs.com/xiaolibiji/p/15618179.html
Author: xiaolifc
Title: java读取pdf文件内容

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/573788/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • springcloud Alibaba 2021.0.1.0 springboot 2.7.0 整合 Swagger3.0 报错解决方案

    引入依赖,版本 3.0.0 只引入一个即可 <span class="hljs-tag"><<span class="hljs…

    Java 2023年6月8日
    071
  • 22.2.14session和反反爬处理

    * import requestsfrom lxml import etree​def refererPrt():    url = "https://www.pearv…

    Java 2023年6月13日
    065
  • 通俗易懂的了解String中的intern方法

    首先,先看一下intern 方法(JDK1.8 )的官方文档: 全是英文,阅读起来有点困难怎么办?没关系,博主对此做了翻译: 返回字符串对象的规范表示形式。 最初为空的字符串池由类…

    Java 2023年6月16日
    073
  • 【JUC】ReentrantReadWriteLock

    ReentrantReadWriteLock 概述 先带着问题去看这个类: 著作权归https://pdai.tech所有。 链接:https://www.pdai.tech/md…

    Java 2023年6月5日
    099
  • 游戏匹配实现

    客户端向服务器发送匹配请求,服务端接收后将客户端Session放入匹配队列中,匹配完成时通知用户。 使用观察者设计模式可以实现这个功能。 观察者代码: Java util 包拥有O…

    Java 2023年6月9日
    080
  • Integer缓冲区相关问题–valueOf()方法

    今天在学习过程中了解到一个现象,代码如下: Integer num1 = 100; Integer num2 = 100; System.out.println(num1==num…

    Java 2023年6月7日
    071
  • 转载:Spring+EhCache缓存实例

    转载来自:http://www.cnblogs.com/mxmbk/articles/5162813.html 一、ehcahe的介绍 EhCache 是一个纯Java的进程内缓存…

    Java 2023年5月30日
    078
  • 拜托,面试官别问我「位图」了

    这是之前面试的时候面试官问到过的一个问题,今天正好看到 布隆过滤器,写篇文章总结一下 我们先看一下流程,流程懂了,问题就解决 90%了 我们都知道一个 int 占 4字节,一个字节…

    Java 2023年6月9日
    090
  • 读经典【1】重构:改善既有代码的设计

    五星好评。很实用。 最近读了重构原版书,同时也在使用其中的一些技巧来改善工作中的项目,自己改完代码会有成就感。 这本书改变了我原有的思想钢印:代码能成功跑起来就不要去动它。实际上,…

    Java 2023年6月16日
    081
  • Export大数据量导出和打包

    Export大数据量导出和打包 项目需求 ​ 导出生成大批量数据的文件,一个Excel中最多存有五十万条数据,查询多余五十万的数据写多个Excel中。导出完成是生成的多个Excel…

    Java 2023年6月7日
    052
  • 六、Java方法

    何为方法 System.out.println(),那么它是什么呢? ​ System是一个类,out是一个对象,println()是一个方法 Java方法是语句的集合,它们在一起…

    Java 2023年6月7日
    075
  • springboot禁用模板缓存,无需重新启动项目即可刷新页面

    1、在application配置文件加入 2、之后每次修改页面只需按ctrl+F9即可刷新页面,无需重新启动编译 Original: https://www.cnblogs.com…

    Java 2023年6月7日
    087
  • 为什么用Redis做排行榜?

    数据结构方面:Redis的sorted set结构用来排名很方便,谁得分高谁排名往上。 排行榜是时限性业务。具有周期性。超出时间,自动删除。Redis的超时设置很好实现。 排行榜是…

    Java 2023年6月15日
    092
  • Day8-笔记(接口、内部类、异常)

    接口就是规范,定义的是一组规则。 接口的本质是契约。 OO的精髓,是对对象的抽象,最能体现这一点的就是接口。 接口的作用: //interface 定义的关键字,接口都需要有实现类…

    Java 2023年6月6日
    086
  • Java this 关键字

    关键字 this 指对象本身,只能在类中使用。 有 Python基础的理解为 self就行了。 访问属性 class … { public static void main (…

    Java 2023年6月5日
    0101
  • 表达式语言整理(不断更新)

    OGNL 官网什么是 OGNL?Arthas中的应用,例如watch命令 SPEL [Spring表达式语言] ​ 『注:本文来自博客园”小溪的博客”,若非…

    Java 2023年6月16日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球