解析pdf文档

LLM文档对话 —— pdf解析关键问题 本文探讨了利用LLM实现文档助手时,对pdf进行解析的重要性及其方法。pdf解析主要分为基于规则和基于AI两种方法,各有优缺点。长文档解析中,分块索引法和文本摘要法是常见策略,但存在语义破坏和内容丢失问题。提取标题和多级标题对于LLM理解文档至关重要。此外,本文还讨论了如何区分单栏和双栏pdf、提取表格和图片数据,以及基于AI的文档解析的优缺点。建议根据pdf类型进行特定处理,以提高解析效率和准确性。 阅读详情
需要jar包支持
fontbox-1.8.11.jars
pdfbox-1.8.11.jar
pdfbox-2.0.0-RC3.jar

--------------------------------------代码部分----------------------------------------
//解析pdf,入库
    public Map analysisPdf(String path) {
        Map map = new HashMap();
        map.put("state", "success");
        // 是否排序
        boolean sort = false;
        // 开始提取页数
        int startPage = 16;
        // 结束提取页数
        int endPage = 25;
        // 文件输入流,生成文本文件

        // 内存中存储的PDF Document
        PDDocument document = null;
        try {
            // 如果作为URL装载得到异常则从文件系统装载
//            document = PDDocument.load("E:\\JCI医院.pdf");
            document = PDDocument.load(path);
             //判断pdf文件是否加密了
            if (document.isEncrypted()) {
                      System.out.println("该文件是加密文件,不能打开......");
                      map.put("errorInfo", "pdf加密了,无法解析");
                      return map;
             }
            // PDFTextStripper来提取文本
            PDFTextStripper stripper = new PDFTextStripper();
            //取每页的数据
            int pageNum = 16;
            endPage= document.getPageCount();
            for(int i=startPage;i<=endPage;i++){
                // 设置是否排序
                stripper.setSortByPosition(sort);
                // 设置起始页
                stripper.setStartPage(i);
                // 设置结束页
                stripper.setEndPage(i);
                // 设置每页末尾字符串
//                stripper.setPageEnd("\r\n======================"+pageNum+"========================\r\n");
                //把每页的字符内容插入到数据库
                String strText = stripper.getText(document);
//                System.out.println(strText);

                PdfContent upload =  new PdfContent();
                upload.setPageNum(pageNum);
                upload.setContent(strText);
                uploadPdfDao.save(upload);
                pageNum++;
            }

        }catch (IOException e){

        }
        if (document != null) {
            // 关闭PDF Document
            try {
                document.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return map;
    } 
RAG 的文档解析:PDF 篇 本文探讨了PDF解析在RAG技术中的关键作用及其挑战。PDF因其非结构化特性,在文本提取、表格识别、跨页关联等方面存在困难。现有解析方法分为三类:基于规则的PyPDF等方法适合简单文档但精度有限;深度学习方法如PP-StructureV2通过版面分析提升复杂文档处理能力;新兴的多模态大模型(如Qwen2.5-VL)可实现端到端智能解析,但成本较高。随着大模型发展,PDF解析正从传统规则向AI驱动转变,为知识库构建提供更高效方案。 阅读详情

相关推荐

使用pdfbox解析pdf文档信息(属性,内容,图片)

Java代码  import java.io.File;   import java.io.FileInputStream;   import java.io.InputStream;   import java.text.SimpleDateFormat;

凤凰涅槃 9090

java开发环境搭建 pdf,PDFBox开发环境安装配置

本篇文章帮大家学习PDFBox开发环境安装配置,包含了PDFBox开发环境安装配置使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。以下是下载apache PDFBox的步骤 -第1步 - 点击以下链接打开Apache PDFBox的主页 - https://pdfbox.apache.org/第2步 - 上面的链接将引导您进入主页,如下图所示 -第3步 - 现在,点击上...

weixin_31185473的博客 845

pdfbox解析pdf文档

一、下载地址:http://sourceforge.net/projects/pdfbox/?source=dlp下载之后把lib中的PDFBox.jar引用到包中,单单引入这一个包是不够的,我们还需要引入external中的jar文件   二、编写源代码: public class PdfParser { /** * * @param path *

1339

java 1.8.0.11下载_Apache PDFBox 1.8.11 发布下载,Java 的 PDF 处理类

Apache PDFBox 1.8.11 发布下载,此版本是个增量 bug 修复版本,包括大量 bug 修复和改进。现已提供下载:主要改进内容:Bug 修复[PDFBOX-962] - All sort of Problems when importing Xfdf files into PDFs ->damaged pdfs and NPEs[PDFBOX-2508] - Text ext...

weixin_39729837的博客 325

pdfbox所需jar包

利用pdfbox读取pdf文件所需要的jar包。

pdfbox-1.8.2.jar

pdfbox-1.8.2.jar, java解析,pdf转化工具包,java解析pdf相关jar包 java解析,pdf转化工具包,java解析pdf相关jar包

Java中使用pdfbox提取PDF文件中的内容

Java中使用pdfbox提取PDF文件中的内容

北辰 2214

pdfbox-1.8.10.jar

pdfbox-1.8.10.jar

python解析PDF文档

1.安装 pip install pdfminer3k 2. python读取PDF文档代码分析   PDF格式不是规范格式. 尽管它被叫做"PDF文档", 但并不像word或者html文档。PDF的表现更像一张图片。PDF更像是在一张纸的各个准确的位置上把内容都摆放出来。大部分情况下,没有逻辑结构,比如句子或段落,并且不能自适应页面大小的调整。PDFMiner尝试通过猜...

difu0201的博客 411

pdfbox-app-1.8.13.jar

JAVA读取PDF所需要用到的jar包; package com.lewei.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileReader; import java.io.FileWriter; import org.apache.pdfbox.pdfparser.PDFParser; import org.apache.pdfbox.util.PDFTextStripper; public class PDFTest{ // TODO 自动生成方法存根 public static void main(String[] args) throws Exception { FileInputStream fis = new FileInputStream("E://900540.3_K.pdf"); BufferedWriter writer = new BufferedWriter(new FileWriter("E://change.txt")); PDFParser p = new PDFParser(fis); p.parse(); PDFTextStripper ts = new PDFTextStripper(); String ss = ts.getText(p.getPDDocument()); writer.write(ss); fis.close(); writer.close(); System.out.println("开始读取"); FileReader fr = new FileReader("E://change.txt");//需要读取的文件路径 BufferedReader br= new BufferedReader(fr); String s = br.readLine(); while(s!=null)//如果当前行不为空 { if(s.length()>10){ if(s.substring(0,3).contains("G01")){ System.out.println(s);//打印当前行 String s1=s.substring(0,s.indexOf(" ")); System.out.println("Type="+s1); } } s= br.readLine();//读取下一行 } br.close();//关闭BufferReader流 fr.close(); } }

pdfbox-1.8.3.jar

比较完整的pdfbox包,解析PDF必备,内含四个工具包,亲测可用

工具分享 | PDF文档解析工具PyMuPDF

总结使用pymupdf分章节解析pdf中的文本和图片

学习笔记 5159

pdfbox-1.8.15.jar以及pdfbox-2.0.11.jar

pdfbox-2.0.11.jar,pdfbox-1.8.15.jar,pdf转图片的java开发jar包下载

PDFBox 解析PDF文档

原文地址:点击打开链接 package com.wss.pdfbox; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Calendar; import j

蚂蚁小帅哥的专栏 2317

pdfbox 所有jar包

pdf 的四个核心jar,适合于初级解析pdf文件为txt文件使用

AD/Protel老手才知道的PCB过孔查看技巧:3分钟分清通孔、盲孔和埋孔

本文为PCB设计工程师提供了在Altium Designer/Protel中快速鉴别通孔、盲孔和埋孔的实用技巧。通过层叠管理器、高级筛选工具和实战五步法,帮助用户在3分钟内精准识别过孔类型,提升设计效率和电路性能。特别适合处理高密度HDI板卡中的复杂过孔布局。

weixin_29164497的博客 571

python读取pdf文档_python解析PDF文档

1.安装pip install pdfminer3k2. python读取PDF文档代码分析PDF格式不是规范格式. 尽管它被叫做"PDF文档", 但并不像word或者html文档。PDF的表现更像一张图片。PDF更像是在一张纸的各个准确的位置上把内容都摆放出来。大部分情况下,没有逻辑结构,比如句子或段落,并且不能自适应页面大小的调整。PDFMiner尝试通过猜测它们的布局来重建它们的结构,但是...

weixin_39533052的博客 334

别再用UE5默认材质:用Substance Painter一招提升写实感

今天,我就把这套从模型准备到引擎最终呈现的全流程技巧毫无保留地分享出来,这套方法不仅能让你的作品细节炸裂,更能让你理解次世代PBR(Physically Based Rendering)材质的底层逻辑。

海外旅居设计师,15年设计经验。 1324

FastGPT 接入 Marker PDF 文档解析

使用 Marker 解析 PDF 文档,可实现图片提取和布局识别。

学亮编程手记 1788

手把手教你用THS4551搭建全差分放大器电路(附ADC驱动实战)

本文详细介绍了如何使用TI的THS4551全差分放大器搭建高性能ADC驱动电路,涵盖芯片选型、电路配置、PCB布局及实战调试等关键环节。THS4551凭借其优异的共模抑制比和宽电源电压范围,成为驱动16位及以上精度ADC的理想选择,特别适合工业应用场景。

weixin_30338481的博客 278

手把手解决GD32H759I-EVAL以太网通信三大坑:IP冲突、端口绑定失败、LWIP内存泄漏

本文针对GD32H759I-EVAL开发板在以太网通信调试中常见的三大难题——IP地址冲突、端口绑定失败和LWIP内存泄漏,提供了详细的实战排障指南。文章深入分析了问题根源,并给出了具体的网络配置、端口管理策略和内存泄漏检测方法,帮助开发者快速定位并解决嵌入式网络通信中的棘手问题,确保系统稳定运行。

weixin_29196315的博客 139

基于Mineru的pdf和word文档解析API

MinerU是一款将PDF转化为机器可读格式的工具(如markdown、json),可以很方便地抽取为任意格式。

Leekinxun的博客 4587

手把手教你用若依WMS搭建企业级仓库管理系统(Vue+Spring Boot实战)

本文提供了一份基于若依框架(RuoYi)快速搭建企业级仓库管理系统(WMS)的实战指南。详细介绍了从环境准备、项目初始化到核心功能模块(如入库流程、库存管理看板)深度定制的全过程,并涵盖Lodop打印集成、移动端PWA适配及生产环境Docker部署等高级主题,帮助开发者高效构建稳定可用的WMS系统。

weixin_29015899的博客 562
上一篇: 笔记
下一篇: 解析Word文档
Gyb_csdn
博客等级 码龄10年 9粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值