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

智能推荐

怎么安装vs2013配套的VASSISTX番茄助手_vs2013安装va-程序员宅基地

文章浏览阅读686次。虽然网上的教程都烂大街了,但是我发现身边的人仍然遇到各种问题,所以我整理了自己的安装过程。第一步,下载安装包找到安装包,比如在搜索资源那里搜索“vs2013配套的VASSISTX番茄助手”下载好,双击这个文件第二步,清除干扰文件如果你安装过其他的番茄助手,可以用everything查找visualassist文件,然后删除。第三步,安装安装时,选择2013第四步,破解找到Extensions下的你可以看到名字比较随机的文件夹,例如我的电脑中叫xn1xs1ix.rxy,无论它的名字是什么,_vs2013安装va

2014年BN Nook HD/HD+ CM11新手入门+刷机教程,编译自xda,仅供参考_hd+冂opho+bn-程序员宅基地

文章浏览阅读2w次。首先先明确一下,目前Nook HD/HD+的刷机,第一次刷必须要使用一个TF卡,这是硬件上的限制,目前暂时还没看到有使用adb线刷的教程(当然也可能我没找到),所以,想刷Nook的,一个TF卡是必须的。根据目前xda和本坛前人的总结,有两种刷法:1 直接通过TF卡上的CM Recovery引导并刷入CM固件。2 先通过TF卡上的CM Recovery引导后将该Recovery刷入nook内_hd+冂opho+bn

【130期】面试官:你能说清楚分布式锁,进程锁,线程锁的区别吗?-程序员宅基地

文章浏览阅读684次。程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 6 分钟。作者:大宅洋www.cnblogs.com/intsmaze/p/6384105.html在分布式集群系统..._二级缓存和分布式锁

python语言str_python语言中的str是什么意思-程序员宅基地

文章浏览阅读5.4k次。python语言中的str是什么意思发布时间:2020-07-15 10:35:17来源:亿速云阅读:472作者:Leah本篇文章给大家分享的是有关python语言中的str是什么意思,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python中srt的全称是SubRip Text,srt文件打开方式srt文件可以使用系统自带的文本处理..._pythontr 上的 str

支持向量机——pytorch与paddle实现支持向量机

本文将深入探讨支持向量机的理论基础,并通过PyTorch和PaddlePaddle两个深度学习框架来展示如何实现支持向量机模型。我们将首先介绍支持向量机、优化的基本概念,这些数学工具是理解和实现支持向量机的基础。通过PyTorch和PaddlePaddle的代码示例,我们将展示如何设计、训练和评估一个支持向量机模型,从而让读者能够直观地理解并掌握这两种框架在机器学习问题中的应用。

网站ssl证书错误是为什么?要怎么解决ssl证书错误_what happened?the origin web server does not have -程序员宅基地

文章浏览阅读3.1k次,点赞13次,收藏8次。在时下这一迅速发展趋势的时期,互联网涉及面愈来愈普遍,PC/移动互联网针对网络信息安全的维护愈来愈苛刻。现如今信息已变成公司发展的根基,传统式http慢慢被销售市场取代,愈来愈多的客户挑选安裝SSL证书,把信息的传送全过程做好数据加密。殊不知客户在应用全过程中,愈来愈多的有关ssl证书错误状况出現,例举了一些平台网站SSL证书普遍的错误,及其处理对策,想要能够有一定的协助。下边是小结的平台网站用ssl证书错误的缘故及相匹配对策ssl错误一:平台网站SSL证书并不是权威部门授予。缘故一:一些S_what happened?the origin web server does not have a valid ssl certificat

随便推点

[ 代码审计篇 ] 代码审计案例详解(二) XXE代码审计案例_等级保护 代码审计记录 示例-程序员宅基地

文章浏览阅读907次,点赞61次,收藏142次。[ 代码审计篇 ] 代码审计案例详解(二) XXE代码审计案例XXE(XML External Entity)是指xml外部实体攻击漏洞。XML外部实体攻击是针对解析XML输入的应用程 序的一种攻击。当包含对外部实体的引用的XML输入被弱配置XML解析器处理时,就会发生这种攻击。 这种攻击通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。_等级保护 代码审计记录 示例

第五章-文本编程_gettextmetrics-程序员宅基地

文章浏览阅读374次。1.CWnd::CreateSolidCaret创建插入符,ShowCaret()显示插入符。GetTextMetrics(),获得当前字体的一些信息。CWnd::CreateCaret()创建图象插入符 bitmap.LoadBitmap(IDB_BITMAP1);//此处的bitmap为成员变量!!! CreateCaret(&bitmap); ShowCaret(); TEX_gettextmetrics

广州大学计算机技术复试c语言试题,2016年广州大学计算机科学与教育软件学院C程序设计考研复试题库...-程序员宅基地

文章浏览阅读780次。一、选择题1. 有以下程序:程序运行后的输出结果是( )。 A.8, 17 B.8, 16 C.8, 8 D.8, 20 答:A【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元, 即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值 程序执行过程为:是上一次函数调用结束时的值。调用函数,再次调用函数,2. 有..._广州大学c语言程序设计考研初试复试历年真题及答案汇总+高分笔记资料题库+专业课

计算机专业知识内容,计算机专业知识:计算机的设计原理及工作原理-程序员宅基地

文章浏览阅读628次。【导读】2016年小编为各位考生提供事业单位计算机考试题库、事业单位计算机考试专业知识。中公事业单位招聘考试网帮助各位考生获取更多精彩内容,助力考生顺利备考。1.简述计算机的设计原理。答:计算机的设计原理是根据美籍匈牙利科学家冯•诺依曼提出了“程序存储、程序控制”的设计思想,同时指出计算机的构成包括以下三个方面:(1)由运算器、存储器、控制器、输入、输出设备五大基本部件组成计算机系统,并规定了五大..._通常所说的计算机科学关注于控制原理和系统实现,大部分研究是基于“冯·诺依

java让线程等待_Java中线程等待(同步)的五种方法-程序员宅基地

文章浏览阅读2.7k次。在面试时,经常会有面试官问道,一个主线程有多个子线程,如何能使子线程的业务执行完成之后,再执行主线程业务逻辑。对于这个问题,本人能够想到的有五种方法,详细请移步源码1、使用线程类自带的join方法,将子线程加入到主线程,在子线程执行完之后,在执行主线程逻辑。例如public static void joinDemo()throws InterruptedException{System.out.p..._java线程等待

学习100个Unity Shader (16) --- 程序纹理简述

假设,给一个模型添加了材质,并赋予了一个shader。shader中有一个纹理属性叫。程序纹理顾名思义,就是通过代码生成的纹理,然后传入材质,生成图像。冯乐乐 《Unity Shader入门精要》程序纹理简单来说就是,通过C#给。这个属性传用程序生成的纹理。