当前位置: 首页 > news >正文

python提取pdf图片

import fitz
import re
import osdef save_pdf_img(path, save_path):'''path: pdf的路径save_path : 图片存储的路径'''# 使用正则表达式来查找图片checkXO = r"/Type(?= */XObject)"checkIM = r"/Subtype(?= */Image)"# 打开pdfdoc = 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)#         print(i,text)isXObject = re.search(checkXO, text)# 使用正则表达式查看是否是图片isImage = re.search(checkIM, text)# 如果不是对象也不是图片,则continueif not isXObject or not isImage:continueimgcount += 1# 根据索引生成图像pix = fitz.Pixmap(doc, i)# 根据pdf的路径生成图片的名称new_name = path.replace('\\', '_') + "_img{}.png".format(imgcount)new_name = new_name.replace(':', '')# 如果pix.n<5,可以直接存为PNGif pix.n < 5:pix.save(os.path.join(save_path, new_name))# 否则先转换CMYKelse:pix0 = fitz.Pixmap(fitz.csRGB, pix)pix0.save(os.path.join(save_path, new_name))pix0 = None# 释放资源pix = Noneprint("提取了{}张图片".format(imgcount))# pdf路径
path = r'C:\save\1.pdf'
save_path = r'C:\save'
save_pdf_img(path, save_path)

相关文章:

python提取pdf图片

import fitz import re import osdef save_pdf_img(path, save_path):path: pdf的路径save_path : 图片存储的路径# 使用正则表达式来查找图片checkXO r"/Type(? */XObject)"checkIM r"/Subtype(? */Image)"# 打开pdfdoc fitz.open(path)# 图片计数im…...

Vue3 表单输入绑定简单应用

去官网学习→表单输入绑定 | Vue.js 运行示例&#xff1a; 代码&#xff1a;HelloWorld.vue <template><div class"hello"><h1>Vue 表单输入绑定</h1><input type"text" placeholder"输入框" v-model"msg"…...

如何解决 Elasticsearch 查询缓慢的问题以获得更好的用户体验

作者&#xff1a;Philipp Kahr Elasticsearch Service 用户的重要注意事项&#xff1a;目前&#xff0c;本文中描述的 Kibana 设置更改仅限于 Cloud 控制台&#xff0c;如果没有我们支持团队的手动干预&#xff0c;则无法进行配置。 我们的工程团队正在努力消除对这些设置的限制…...

近期学习练习

练习&#xff1a; 或&#xff1a; //sqrt是数学库函数&#xff0c;开平方 //头文件为math.h 或...

平台安全之中间件安全

理解中间件 一次web访问的顺序&#xff0c;web浏览器->web服务器&#xff08;狭义&#xff09;->web容器->应用服务器->数据库服务器 web服务器 广义&#xff1a;提供广义web服务的软件或主机 狭义&#xff1a;提供w3服务的软件或主机&#xff0c;即Web服务器软件…...

芒果 TV 基于 Flink 的实时数仓建设实践

公司简介&#xff1a;芒果 TV 作为湖南广电旗下互联网视频平台&#xff0c;在“一云多屏&#xff0c;多元一体”的战略指导下&#xff0c;通过内容自制&#xff0c;培植核心竞争力&#xff0c;从独播、独特走向独创&#xff0c;并通过市场化运作完成 A 轮、B 轮融资&#xff0c…...

尚硅谷大数据项目《在线教育之采集系统》笔记004

视频地址&#xff1a;尚硅谷大数据项目《在线教育之采集系统》_哔哩哔哩_bilibili 目录 P047 P048 P049 P050 P051 P052 P053 P054 P055 P056 P047 /opt/module/datax/job/base_province.json [atguigunode001 ~]$ hadoop fs -mkdir /base_province/2022-02-22 [atgu…...

R语言4_安装BayesSpace

环境Ubuntu22/20, R4.1 你可能会报错说你的R语言版本没有这个库&#xff0c;但其实不然。这是一个在Bioconductor上的库。 同时我也碰到了这个问题&#xff0c;ERROR: configuration failed for package systemfonts’等诸多类似问题&#xff0c;下面的方法可以一并解决。 第…...

TSINGSEE青犀视频安防监控视频平台EasyCVR设备在线,视频无法播放的原因排查

可支持国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等多种协议接入的安防监控视频平台EasyCVR基于云边端一体化架构&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;可在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、…...

【算法篇C++实现】算法的时间、空间复杂度

文章目录 &#x1f680;一、算法的概念&#x1f680;二、算法的特征1.可行性2.确定性3.有穷性4.输入5.输出 &#x1f680;三、算法的评价1.正确性2.可读性3.健壮性 &#x1f680;四、算法的复杂度⛳&#xff08;一&#xff09;时间复杂度1、时间复杂度的概念2、大O的渐进表示法…...

On Evaluation of Embodied Navigation Agents 论文阅读

论文信息 题目&#xff1a;On Evaluation of Embodied Navigation Agents 作者&#xff1a;Peter Anderson&#xff0c;Angel Chang 来源&#xff1a;arXiv 时间&#xff1a;2018 Abstract 过去两年&#xff0c;导航方面的创造性工作激增。这种创造性的输出产生了大量有时不…...

【CSS 布局】水平垂直方向居中

【CSS 布局】水平垂直方向居中 单行元素 <div class"container"><div class"item"></div> </div>方式一&#xff1a;relative 和 absolute .container {position: relative;height: 400px;border: 1px solid #ccc;.item {posit…...

Java实现轻量型Web服务器接收http协议提交的RFID读卡信息

示例使用的读卡器&#xff1a;RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSock…...

模拟实现消息队列项目(完结) -- 基于MQ的生产者消费者模型

目录 前言 1. 生产者 2. 消费者 3. 启动消息队列服务器 4. 运行效果 结语 前言 在上一章节,我们完成了消息队列的客户端部分,至此我们整个消息队列项目就构建完成了,那我们做的这个消息队列到底有什么效果,以及如何去使用我们自己的消息队列呢?那么本文,就将我们的MQ进行实战操…...

专业商城财务一体化-线上商城+进销存管理软件,批发零售全行业免费更新

订货流程繁琐&#xff1f;订单处理效率低&#xff1f;小程序商城与进销存系统不打通&#xff1f;数据需要手动输入同步&#xff1f;财务与的结算对账需要大量手工处理&#xff1f;零售批发从业者&#xff0c;如何你也有以上烦恼&#xff0c;可以看看进销存小程序订货商城&#…...

深度思考mysql面经

推荐 1 索引下推 Mysql性能优化&#xff1a;什么是索引下推&#xff1f; 1.1 定义 索引下推&#xff08;Index Condition Pushdown&#xff0c;简称 ICP&#xff09;是一种数据库优化技术。在传统的数据库查询中&#xff0c;数据库首先使用索引检索来找到符合索引条件的行&…...

2023-08-09力扣每日一题

链接&#xff1a; 1281. 整数的各位积和之差 题意&#xff1a; 十进制每一位的积减去每一位的和 解&#xff1a; 十进制位处理 实际代码&#xff1a; #include<iostream> using namespace std; int subtractProductAndSum(int n) {int t11,t20;while(n){t1*n%10;t…...

[23] Instruct 3D-to-3D: Text Instruction Guided 3D-to-3D conversion

本文提出一种3D-to-3D转换方法&#xff1a;Instruct 3D-to-3D&#xff1b;借助预训练的Image-to-Image扩散模型&#xff0c;本文方法可以使各个视角图片的似然最大&#xff1b;本文方法显式地将source 3D场景作为condition&#xff0c;可以有效提升3D连续性和可控性。同时&…...

设计模式行为型——访问者模式

目录 访问者模式的定义 访问者模式的实现 访问者模式角色 访问者模式类图 访问者模式举例 访问者模式代码实现 访问者模式的特点 优点 缺点 使用场景 注意事项 实际应用 访问者模式的定义 访问者模式&#xff08;Visitor Pattern&#xff09;属于行为型设计模式&am…...

vue3官网文档学习、复习笔记(快速上手)

目录 2.Attribute 绑定&#xff08;v-bind&#xff09; 3.事件监听&#xff08;v-on&#xff09; 4.表单绑定&#xff08;v-model&#xff09; 5.条件渲染&#xff08;v-if&#xff09; 6.列表渲染&#xff08;v-for&#xff09; all.value all.value.filter&#xff08;…...

BilibiliDown视频下载器终极完整指南:5分钟从新手到高手

BilibiliDown视频下载器终极完整指南&#xff1a;5分钟从新手到高手 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors…...

告别命令行恐惧:用SmartGit可视化搞定Git分支与合并冲突

告别命令行恐惧&#xff1a;用SmartGit可视化搞定Git分支与合并冲突 在团队协作开发中&#xff0c;Git分支管理和合并冲突是每个开发者都无法回避的挑战。传统的命令行操作虽然强大&#xff0c;但对于许多开发者来说&#xff0c;复杂的命令和晦涩的错误信息常常让人望而生畏。…...

Ostrakon-VL-8B效果实测:百种零售商品SKU识别精度报告

Ostrakon-VL-8B效果实测&#xff1a;百种零售商品SKU识别精度报告 最近在帮一个做零售的朋友研究智能货架方案&#xff0c;他们最头疼的就是商品识别不准。货架上东西一多&#xff0c;系统就经常把可乐认成雪碧&#xff0c;或者把不同口味的薯片搞混。正好看到Ostrakon-VL-8B这…...

Fast-GitHub:终极GitHub加速解决方案,让你的下载速度飙升10倍!

Fast-GitHub&#xff1a;终极GitHub加速解决方案&#xff0c;让你的下载速度飙升10倍&#xff01; 【免费下载链接】Fast-GitHub 国内Github下载很慢&#xff0c;用上了这个插件后&#xff0c;下载速度嗖嗖嗖的~&#xff01; 项目地址: https://gitcode.com/gh_mirrors/fa/Fa…...

告别命令行!用rosbridge_suite和WebSocket在浏览器里遥控你的ROS机器人(附完整代码)

浏览器操控ROS机器人&#xff1a;rosbridge_suite与WebSocket实战指南 想象一下&#xff0c;你正在开发一个机器人项目&#xff0c;需要频繁测试不同运动指令对机器人行为的影响。每次修改参数都要重新编译、运行命令行&#xff0c;不仅效率低下&#xff0c;还容易打断思路。有…...

Android开发必看:fitsSystemWindows的5个实际应用场景与避坑指南

Android开发必看&#xff1a;fitsSystemWindows的5个实际应用场景与避坑指南 在Android开发中&#xff0c;fitsSystemWindows这个看似简单的属性&#xff0c;却常常让开发者陷入各种布局适配的困境。特别是在全面屏、刘海屏设备普及的今天&#xff0c;正确处理系统窗口的适配问…...

仅限奇点大会注册开发者获取:LLM生产环境诊断工具包(含自动检测脚本+拓扑分析器+成本优化计算器)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;LLM生产环境部署指南 2026奇点智能技术大会(https://ml-summit.org) 在真实生产环境中部署大语言模型&#xff0c;需兼顾推理延迟、显存效率、服务稳定性与安全合规性。2026奇点智能技术大会现场实测表明&#xff0c;超过7…...

普通PC也能体验macOS?这份黑苹果终极指南让你避开所有坑

普通PC也能体验macOS&#xff1f;这份黑苹果终极指南让你避开所有坑 【免费下载链接】Hackintosh Hackintosh long-term maintenance model EFI and installation tutorial 项目地址: https://gitcode.com/gh_mirrors/ha/Hackintosh 想要在普通台式机或笔记本电脑上体验…...

【Skills开发实战指南】第25篇:PPT演示Skill:幻灯片自动生成与美化

在企业汇报、产品展示、学术演讲等场景中&#xff0c;PowerPoint演示文稿的制作是极其重要但耗时的工作。本文深入探讨如何通过Skills实现PPT演示文稿的自动化生成与美化&#xff0c;从基础幻灯片创建到复杂模板设计&#xff0c;从简单的文本填充到高级的图表集成&#xff0c;提…...

手把手教你用pip download和--platform参数,提前备好Linux服务器离线Python环境

手把手教你用pip download和--platform参数&#xff0c;提前备好Linux服务器离线Python环境 在Linux服务器上部署Python应用时&#xff0c;最让人头疼的莫过于服务器无法访问外网。想象一下&#xff0c;当你兴冲冲地准备部署一个精心开发的应用&#xff0c;却因为依赖包无法下载…...