python提取pdf中图片和文本_python原生代码,提取pdf图片中的文字-程序员宅基地

技术标签: python  pdf  开发语言  

import fitz
import docx
#PyMuPDF对于中文识别还是比较理想的,安装模块pip3 install PyMuPDF
pdf_document1 = "2.pdf"
doc = fitz.open(pdf_document1)
# print ("number of pages: %i" % doc.pageCount)
# print(doc.metadata)
#word文件用于存储提取的内容
'''提取文本'''
file =docx.Document()
for current_page in range(doc.page_count):
  page = doc.load_page(current_page)
  pagetext = page.get_text("text")
  file.add_paragraph(pagetext)
file.save('3.docx')

'''提取图片'''
pdf_document2 = "2.pdf"
pdf_document = fitz.open(pdf_document2)
count=0
for current_page in range(pdf_document.page_count):
    for image in pdf_document.get_page_images(current_page):
        xref = image[0]
        pix = fitz.Pixmap(pdf_document, xref)
        count=count+1
        if pix.n < 5:        # this is GRAY or RGB
            pix.save(".\image\\"+str(current_page)+"_"+str(count)+".png")
        else:                # CMYK: convert to RGB first
            pix1 = fitz.Pixmap(fitz.csRGB, pix)
            pix.save(".\image\\"+str(current_page)+"_"+str(count)+".png")
            pix1 = None
        pix = None
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zy215215/article/details/130456960

智能推荐

python绘制三维网格图_使用python绘制三维圆柱网格模型图——voxels函数的使用-程序员宅基地

文章浏览阅读1k次。最近接到老师的新任务——画一个XXX的三维模型图,和师兄交流后大概知道了要做什么,在师兄的建议下成功入了python的坑。然而网上查了很长时间才在matplotlib的example中找到了这种画圆柱网格的模型图的实例。实例import matplotlib.pyplot as pltimport matplotlib.colorsimport numpy as npfrom mpl_toolki..._ax.voxels

Semaphore的注意点_semphore 报错interrupter null-程序员宅基地

文章浏览阅读349次。seamphore大家玩的都比较多,使用起来也很简单,获取令牌和释放,但是其中坑却不少,而且会让人很难发现,希望能通俗易懂的小例子讲明白其中的几个道理。一、线程都被阻塞了?public class demo2 { static Semaphore semaphore = new Semaphore(1); public static void method1() { try { System.out.println(Thread.curr.._semphore 报错interrupter null

第9关:表单元素——文本域_第9关:表单元素——文本域-程序员宅基地

文章浏览阅读291次。表单元素——文本域_第9关:表单元素——文本域

上海人社APP历年社保查询攻略-程序员宅基地

文章浏览阅读2.7k次。随时随地查社保,太方便了,快来收藏起来!!!1、苹果商店或安卓商店下载【上海人社app】2、账号登录,账号:身份证号码 密码:去社保中心开通3、首页,点击CA证书管理4、点击【CA证书申..._上海人社app怎么查社保缴费记录

详解Xcode 7的视图调试_xcode视图-程序员宅基地

文章浏览阅读2.1k次。http://www.cocoachina.com/ios/20150423/11658.html本文由远的风景翻译自raywenderlich,作者:Scott Berrevoets原文:View Debugging in Xcode 6开发者会经常遇到视图或者Auto Layout约束中存在bug的情况,并且这种bug很难通过代码发现,所以开发者很有必要熟知如何进行_xcode视图

vue+h5做的App使用api进行文件的下载自动安装打开_h5+vue实现apk下载并自动打开-程序员宅基地

文章浏览阅读5.1k次。 本人第一次写博客,菜鸟一只,也不大会用语言表述,写博客只是单纯记录下自己遇到的问题,并且记录下来以便日后使用的时候可以有个思路。如果能够帮助到别人就更好了。 现在公司的项目需要用vue做一个安卓app,需要实现app的自动更新功能。我的设计方案就是打开App先提交请求到后台,需要更新会返回下载地址。创建下载的代码: // 下载最新版本 JX_do..._h5+vue实现apk下载并自动打开

随便推点

如何在 Windows10 下运行 Tensorflow 的目标检测?_win10 tensorflow-程序员宅基地

文章浏览阅读1.1k次。看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包,还有是运行官方 object_detection_tutorial 不展示图片等等问题。在看过一个国外博主例子,我也通过 Tensorflow-GPU1.10.0 运行了官方例子,既然要使用 GPU 则需要把 CUDA 先配置好,上一篇文章有特别详细介绍到。而这里就捋一下在运行过程遇到的种种问题。_win10 tensorflow

Vue3.0(四):Composition API的使用_vue3 composition-程序员宅基地

文章浏览阅读2.3k次,点赞53次,收藏43次。定义普通函数setup(){//可以直接使用,但不是响应式return{message定义响应式数据(reactive定义复杂数据:对象/数组等,不能传入普通类型的,比如字符串等在option api中data中定义的数据实际上就是交给了reactive函数setup(){//此时就是响应式了a:100,b:200})//对obj进行修改return{obj定义响应式数据(ref):返回的是ref对象,需要使用.value进行获取值定义简单类型的响应式数据。_vue3 composition

【Linux】 通过 Xmanager 连接到Linux 虚拟机上_xmanager 百度网盘-程序员宅基地

文章浏览阅读1.3k次。一 获取xmanager我们可以在官网上下载最新版本的 xmanager 官网地址我这里也提供了一款比较老版本的 xmanager 自用感觉很不错百度网盘链接提取码 v8m7 自行解压里面已有机器码二 创建会话创建基本连接属性1 点击黄色 + 号 打开会话窗口2 点击新建按钮 打开新建会话属性3 输入名称 (这个名称最好与你的机器host域名匹配)4 输入主机IP地址5 点击确定按钮完成设置第四步的IP地址如何查看进入自己的 vmware 虚..._xmanager 百度网盘

上百例大数据可视化三维GIS可视化数据产品,非常漂亮的设计,大数据可视化,三维GIS可视化,这才是大前端,产品、设计、GIS、开发、架构都需要好好看看_大数据推送给三维前端-程序员宅基地

文章浏览阅读1.6w次,点赞6次,收藏15次。上百例大数据可视化三维GIS可视化数据产品,非常漂亮的设计,大数据可视化,三维GIS可视化,这才是大前端欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入随着互联网的发展,各项技术的不断成熟,数_大数据推送给三维前端

python循环语句打印矩形_Python 循环语句之 while,for语句详解-程序员宅基地

文章浏览阅读1k次。下面为大家分享一篇Python 循环语句之 while,for语句详解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧Python中有两种循环,分别为:for循环和while循环。 for循环可以遍历任何序列的项目,如一个列表或者一个字符串。while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。循环语句(有两种):while 语句for 语句w..._用for while循环嵌套输出长方形

c#串口编程(傻瓜教程,手把手教你学会)_c# 串口编程-程序员宅基地

文章浏览阅读5.4w次,点赞249次,收藏1.1k次。在单片机项目开发中,上位机也是一个很重要的部分,主要用于数据显示(波形、温度等)、用户控制(LED,继电器等),下位机(单片机)与 上位机之间要进行数据通信的两种方式都是基于串口的:USB转串口 —— 上位机和下位机通过USB转串口连接线直接相连进行数据交互; 串口转WIFI(ESP8266) —— 上位机和下位机基于TCP/IP协议通过WIFI传输数据; 串口转蓝牙(HC-06)—— 不多用,暂不介绍;上位机软软件开发主要包括以下两种:  1、Windows上位机(EXE可执行程序)._c# 串口编程