精华内容
下载资源
问答
  • python: 从pdf中提取图片
    千次阅读
    2022-04-29 12:50:08

    fitz库:提取pdf中的图片,超好用的!

    针对python 3.10
    利用fitz库读取文件:

    import fitz
    file = 'test.pdf'
    doc = fitz.open(file)
    
    

    获得doc的对象数:

    lenXREF = doc.xref_length()
    

    遍历每一个对象,并打印:

    for i in range(1, nums):
    	# 定义对象字符串
    	text =  doc.xref_object(i);
    	print(i, text)
    	
    
    
    
    import fitz
    import time
    import re
    import os
    
    #1.使用正则表达式查找PDF中的图片
    def pdfTOpic(path,pic_path):#path:pdf的路径,pic_path:图片保存的路径
        t0 = time.perf_counter() #python 3.8已经不支持time.clock了
        #使用正则表达式来查找图片
        checkXO = r"/Type(?= */XObject)"
        checkIM = r"/Subtype(?= */Image)"
        #打开pdf
        doc = fitz.open(path)
        #图片计数
        imgCount = 0
        lenXREF = doc.xref_length()
    
        #打印pdf的信息
        print("文件名:{},页数:{},对象:{}".format(path,len(doc),lenXREF-1))
    
        #遍历每一个对象
        for i in range(1,lenXREF):
            #定义对象字符串
            text = doc.xref_object(i)
            isXObject = re.search(checkXO,text)
            #使用正则表达式查看是否是图片
            isImage = re.search(checkIM,text)
            #如果不是对象也不是图片,则continue
            if not isXObject or not isImage:
                continue
            imgCount+=1
            #根据索引生成图像
            pix = fitz.Pixmap(doc,i)
            #根据pdf的路径生成图片的名称
            new_name = path.replace('\\','_')+"_img{}.png".format(imgCount)
            new_name = new_name.replace(':','')
    
            #如果pix.n<5,可以直接存为png
            if pix.n<5:
                pix.writePNG(os.path.join(pic_path,new_name))
            #否则先转换CMYK
            else:
                pix0 = fitz.Pixmap(fitz.csRGB,pix)
                pix0.writePNG(os.path.join(pic_path,new_name))
                pix0 = None
            #释放资源
            pix = None
            t1 = time.perf_counter()
            print("运行时间:{}s".format(t1-t0))
            print("提取了{}张图片".format(imgCount))
    
    if __name__ == '__main__':
        #pdf路径
        path = r'E:\PythonExperiment\Numerial.pdf'
        #创建保存图片的文件夹
        pic_path = r'E:\PythonExperiment\extractPictrue'
        if os.path.exists(pic_path):
            print("文件夹已存在,请重新创建文件夹!")
            raise SystemExit
        else:
            os.mkdir(pic_path)
        m=pdfTOpic(path,pic_path)
    
    更多相关内容
  • 主要为大家详细介绍了Python批量提取PDF文件文本的脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 本文实例为大家分享了python提取英语pdf内容并翻译的具体代码,供大家参考,具体内容如下 前期准备工作: 翻译接口: 调用的是百度翻译的api (注册后,每个月有2百万的免费翻译字符数。) pdfminer3k: pdfminer3k...
  • 4、demo.txt 内容格式说明:(我要查找的内容#3)如括号内的文字为格式不含括号,其中“我要查找的内容”是pdf文件内容,“#”为标识符,必须写,“3”为查找到内容后需要抓取的后面的内容字符个数。 5、再次...
  • 主要介绍了Python提取PDF内容的方法(文本、图像、线条等),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 开源PdfSharp提取读取PDF文档里text内容方法
  • Arcgis中pdf提取矢量
  • Python从PDF中提取表格

    2020-01-04 17:52:54
    使用Python的pdfplumber模块从PDF指定的各个页面中提取对应的表格,全部存入pandas的DataFrame。将表格不关注的行列删除后,保存到Excel电子表格。 源码将STM32规格书指定封装的引脚表提取到Excel,方便...
  • 该工具实现了提取PDF文件的内容至TXT文件。 无论PDF文件是否加密,都可实现。 该软件需要安装jdk1.7(含)以上版本 详细使用方法参照博客:http://blog.csdn.net/xiaojimanman/article/details/43527755
  • Delphi提取PDF文本实例

    2020-08-30 07:22:25
    下面小编就为大家带来一篇Delphi提取PDF文本实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • shift=3 --提取目标内容相对关键字的偏移量,可以是负值,表示目标内容在关键字左侧,具体偏移几个字符可以预估,然后测试微调 length=3 --提取目标字符的长度 命令行显示“存放文档的文件夹名称” 是指源PDF文档...
  • 批量读取PDF内容作为文件名重命名,指定关键信息对文件进行重命名,适用于财务,人事部等大量工作繁琐性质的工作面对很多pdf文件如何提取文件名,批量读取pdf内容并重命名,怎么读取pdf内容并重命名,pdf根据内容...
  • 然后把PDF中的一些特定关键词出现次数提取到Excel,如下示例: 关键词从D列开始,任意添加。其中A1,B1,C1内容可以更改。 然后运行程序,得到的结果示例如下: 这里的年份是PDF所在文件夹的名称,你可以自己修改...
  • 这是一款开源工具,可以很方便地从pdf中提取出表格,可以人工选择要提取的表格,也可以写python代码实现自动化提取表格。
  • 批量提取pdf表格中内容到excel 使用方法:双击启动软件,选择要提取PDF支持多选,回车运行程序。提取好内容自动生成excel文件与pdf文件同目录下。
  • 从标记的pdf中提取内容。 给定带标签的PDF文件,首先将文件转换为文本文件,然后基于某些已知参数从pdf中提取其他标签。 在这种情况下,作为其医学数据集,将识别重复和模式,并基于该键值对提取并写入Excel文件。
  • 如何使用Python提取pdf表格及文本,并保存到excel.pdf
  • pdf解析捣鼓了这么久,共享一下。
  • PDF文本内容批量提取到Excel

    千次阅读 2021-03-23 19:01:35
    B列用于存放pdf提取内容 当所有PDF内容复制到Excel后,数据库就可以实现全文搜索功能。 几十上百个PDF复制粘贴工作也许一天就搞定了,但成千上万个PDF,你是不是要抓狂?为此,我专门用Python开发了PDF批量...

    作用:pdf内容批量提取到excel

    各位亲朋好友,我才上班时候有个鼓噪乏味工作,就是把一个个PDF内容复制粘贴到Excel表格里面,方便以后数据库全文搜索。

    举个例子,此Excel有两个字段

    A列是pdf文件名

    B列用于存放pdf提取的内容

    当所有PDF内容复制到Excel后,数据库就可以实现全文搜索功能。

    几十上百个PDF复制粘贴工作也许一天就搞定了,但成千上万个PDF,你是不是要抓狂?为此,我专门用Python开发了PDF批量提取机器人,名字叫pdf_data_extract3

     

    程序放入文件夹,双击就完成自动提取

    检查错误数据

    提取失败的excel文件名保持在extract_failed_File.txt文档中

    如果任务百分之百成功,会显示:恭喜主人,干的漂亮

    给大家展示最后提取的结果,B列就是自动提取的内容。

    有了PDF自动提取机器人,大家工作就没这么辛苦了。只需要双击一下鼠标,然后泡杯咖啡,坐等机器人完成任务。

     

    欢迎各位学习更多数据分析和处理知识(博主录制)

    链接地址为https://edu.csdn.net/course/detail/30781

    展开全文
  • 迅捷PDF图片提取工具是一款专业提取PDF文件所有图片的工具,支持批量PDF文档图片提取,一键快速提取图片资源,是您提取PDF文件图片的好帮手。使用方法:优质步:将迅捷PDF图片提
  • PdfParser一个独立的PHP库,提供从PDF文件中提取数据的各种工具
  • 将要提取表格的pdf文件重命名为test.pdf,将exe放在test.pdf这个目录,双击即可将pdf中所有表格提取到同一目录下的Result.xls文件
  • python+PyQt5实现的PDF文件处理小工具(PDF合并、PDF页面删除、PDF页面提取PDF中表格提取
  • pdf格式存在的,比如:论文,技术文档,标准文件,书籍等。pdf格式使机器提取信息格外困难。 pdf的文本和表格处理用...这个库在GitHub上星600多,不过使用起来很方便, 效果也很好,可以满足对pdf中信息的提取需求。
  • Java 提取PDF文本内容

    2021-03-06 13:31:05
    概述一般来说,我们无法对PDF文档格式的内容进行修改编辑,但当我们确有此需求时,可通过提取文本内容的方式来实现。...提取PDF文档的所有文本内容提取PDF指定页面的文本内容提取PDF指定区域的文本内容Jar包的获...

    概述

    一般来说,我们无法对PDF文档格式的内容进行修改编辑,但当我们确有此需求时,可通过提取文本内容的方式来实现。本文就将介绍如何通过Java代码来提取PDF文档中的文本内容。

    此教程用到的第三方控件是Free Spire.PDF for Java(免费版)。根据不同需求,它可以支持以下三方面的提取功能。

    提取PDF文档中的所有文本内容

    提取PDF指定页面的文本内容

    提取PDF指定区域的文本内容

    Jar包的获取及导入

    在运行代码前,需将Free Spire.PDF for Java控件中的Jar包导入IDEA中。导入方式有两种:其一,在官网上下载产品包,解压后将lib文件夹下的Spire.Pdf.jar手动导入IDEA;其二,在IDEA中创建一个Maven项目,然后在pom.xml文件中键入以下代码,最后点击“Import Changes”即可。

    com.e-iceblueid>

    http://repo.e-iceblue.cn/repository/maven-public/url>

    repository>

    repositories>

    e-icebluegroupId>

    spire.pdf.freeartifactId>

    3.9.0version>

    dependency>

    dependencies>

    示例代码

    示例1 提取PDF文档中的所有文本内容

    import com.spire.pdf.PdfDocument;

    import com.spire.pdf.PdfPageBase;

    import java.io.*;

    public class ExtractAllText{ public static void main(String[] args) { //创建PdfDocument实例

    PdfDocument doc=new PdfDocument(); //加载PDF文档

    doc.loadFromFile("C:UsersTest1DesktopSample.pdf"); //创建StringBuilder实例

    StringBuilder sb=new StringBuilder(); PdfPageBase page; //遍历PDF页面,获取每个页面的文本并添加到StringBuilder对象

    for(int i=0;itrue)); } FileWriter writer; try { //将StringBuilder对象中的文本写入到文本文件

    writer = new FileWriter("output/ExtractAllText.txt"); writer.write(sb.toString()); writer.flush(); } catch (IOException e) { e.printStackTrace(); } doc.close(); }

    }

    提取效果:

    e9dc76efaaad0b6926172447d4af0131.png

    示例2 提取PDF指定页面的文本内容

    import com.spire.pdf.*;

    import java.io.BufferedWriter;

    import java.io.File;

    import java.io.FileWriter;

    import java.io.IOException;

    public class ExtractTextFromParticularPage{ public static void main(String[] args) throws IOException { //加载PDF文档

    PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("C:UsersTest1DesktopSample.pdf"); //创建.txt文件,用于保存提取的文本

    String result = "output/extractTextFromAParticularPage.txt"; File file=new File(result); if(!file.exists()){ file.delete(); } file.createNewFile(); FileWriter fw=new FileWriter(file,true); BufferedWriter bw=new BufferedWriter(fw); //获取第一页的文本

    PdfPageBase page = pdf.getPages().get(0); String text = page.extractText(true); //String text = page.extractText(false);

    bw.write(text); bw.flush(); bw.close(); fw.close(); }

    }

    提取效果:

    f9e4503cf71ebd7bf0e45a603b43b02a.png

    示例3 提取PDF指定区域的文本内容

    import com.spire.pdf.*;

    import java.awt.geom.Rectangle2D;

    import java.io.BufferedWriter;

    import java.io.File;

    import java.io.FileWriter;

    import java.io.IOException;

    public class ExtractTextFromSpecificArea{ public static void main(String[] args) throws IOException { //加载PDF文档

    PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("C:UsersTest1DesktopSample.pdf"); //创建.txt文件,用于保存提取的文本

    File file=new File("output/ExtractTextFromASpecifiedArea.txt"); if(!file.exists()){ file.delete(); } file.createNewFile(); FileWriter fw=new FileWriter(file,true); BufferedWriter bw=new BufferedWriter(fw); //获取第一页

    PdfPageBase page = pdf.getPages().get(0); //提取第一页指定区域的文本

    String text = page.extractText(new Rectangle2D.Float(80, 20, 500, 110)); bw.write(text); bw.flush(); bw.close(); fw.close(); }

    }

    提取效果:

    f5a48e55d32dafbda555153fc589805f.png

    文章来源: segmentfault.com,作者:Millie_Yellow,版权归原作者所有,如需转载,请联系作者。

    原文链接:segmentfault.com/a/1190000038215489

    展开全文
  • 软件下载【文章最后面】 ...案例2:财务小姐姐有的批量导出很多PDF电子发票,导出来大多是没办法区分的文件名,需要用发票号,发票代码,买方名字来重命名,后期对文件进行快速检索 有的人查过很多

    软件下载【文章最后面】

    本文适用于PDF内容可复制就可以处理,如果您的PDF是图片内容是单纯的图片,要对图片进行OCR扫描后获取关键信息后进行处理详细见文章:

    【效率特工队】如何识别发票号给发票的图片重命名,发票的PDF重命名_效率特工队Go的博客-CSDN博客在财务工作中,有很多大量的工作是和发票打交道的,如果发票的扫描件https://blog.csdn.net/bbyn3316/article/details/110972273

    【步步为赢】批量图片识别文字来命名文件名,很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天它来了_步步为赢1888的博客-CSDN博客_自动识别图片文字并命名很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天他来了因为不解决就得手动挨个挨个输入然后把文件命名好今天又一个文件需求是这样的图上有姓名文字,要识别出来改成每一张图跟这个一样,有的人说了缩略图的时候一个个改就好了那么我很服这样的人,5000多页身份证也这么干,我墙都不扶就服你用到了前几天的一个软件做了一些定制化的改动,识别出来的文字又批量的修正了文件名htt...https://blog.csdn.net/binbin321/article/details/98956290如果是内容可复制的PDF下面的方法就适用于您:

    场景:从网站上下载的PDF文件一般都是以类似的形式命名,下载的量变大后逐个重命名后是个繁重耗时的工作。但PDF文件其实属性里都有着自己的论文题目,可以利用这一点来完成对PDF的重命名。

    案例1:人事部人员扫描了几百份简历,保存为PDF格式,但是名字是一串数字,不好分辨,有没有能识别里面姓名内容并自动重命名文件的方法

    案例2:财务小姐姐有的批量导出很多PDF电子发票,导出来大多是没办法区分的文件名,需要用发票号,发票代码,买方名字来重命名,后期对文件进行快速检索

    有的人查过很多方法,都是一堆代码,看不懂,很多人搞不定,那么我们现在做成一种可视化的操作,点点鼠标就搞定。

    下面我们用电子发票举例来说明,怎样批量的读取PDF文件的关键内容,关键信息来对PDF进行重命名操作,比如我们这次用:购买方名字+发票代码+发票号 来举例说明

    首先我们PDF我们能重命名,命名的部分全都是一样的,比如:发票号出现在固定位置,发票代码出现在固定位置,还有购买方的名字出现在固定位 例如下图:

     无论怎么变,这些信息都是有的,我们会拿到坐标,然后去读取,对应位置的文字信息比如这两个位置的坐标,长宽度:

     是从X轴,Y轴,长度,宽度,去读取数据,同样的方法,简历也是一样,姓名需要出现在固定位置,有判断的依据,最后把文件导入做好的软件内,进行数据处理就好了,

    可以支持按照单个文件处理,也可以单个文件夹,多个文件夹处理,这个只能处理发票,需要处理其他文件要去锁定要处理文件的指定坐标就可以了,然后读取内容进行文字识别处理,抓出来关键信息,对文件进行重命名即可

    软件下载地址

    CSDN土豪下载链接:PDF提取电子发票指定关键信息重命名by电子发票-管理软件文档类资源-CSDN下载批量读取PDF内容作为文件名重命名,指定关键信息对文件进行重命名,适用于财务,人事部等大量工作繁琐性更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/binbin321/85114255

    百度网盘下载 :https://pan.baidu.com/s/1E-3DEntS_VMIrI3NLh4Wvw?pwd=6688 

    展开全文
  • 想要做全文搜索引擎,则需要将word/pdf等文档内容提取出来。对于pdf有xpdf等一些开源方案。 但Word文档的情况则会复杂一些。 提取PDF文本内容 XPDF是一个免费开源的软件,用于显示PDF文件,并可将pdf转换成文字...
  • PDF大文件按关键字分页提取功能,PDF大文件按关键字分页提取功能,PDF大文件按关键字分页提取功能PDF大文件按关键字分页提取功能

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,672
精华内容 31,868
关键字:

怎么把pdf中的内容提取出来