零代码编程:用Kimichat从PDF文件中批量提取图片

一个PDF文件中,有很多图片,想批量提取出来,可以借助kimi智能助手。

在借助kimi智能助手中输入提示词:

你是一个Python编程专家,要完成一个网页爬取Python脚本的任务,具体步骤如下:

打开文件夹:E:\6451

读取里面的PDF文件;

将PDF文件里面的图片都保存到E:\6451

注意:图片体积较大,占用内存高,要将PDF文件中的图片分批次提取,而不是一次性提取所有图片

kim生成的Python源代码:

import fitz # PyMuPDF

import os

# 定义文件夹路径

folder_path = 'E:\\6451'

# 确保文件夹存在

if not os.path.exists(folder_path):

print(f"The folder {folder_path} does not exist.")

else:

# 读取文件夹中的所有PDF文件

for filename in os.listdir(folder_path):

if filename.lower().endswith('.pdf'):

pdf_path = os.path.join(folder_path, filename)

doc = fitz.open(pdf_path)

# 逐页提取图片

for page_number in range(len(doc)):

page = doc[page_number]

img_list = page.get_images(full=True)

# 分批次提取页面中的图片

for img_index, img in enumerate(img_list, start=1):

try:

xref = img[0]

info = doc.extract_image(xref)

image_bytes = info["image"]

# 为图片构造一个唯一的文件名

image_filename = f"{os.path.splitext(filename)[0]}_{page_number + 1}_img_{img_index}.png"

image_save_path = os.path.join(folder_path, image_filename)

# 保存图片

with open(image_save_path, "wb") as image_file:

image_file.write(image_bytes)

print(f"Image saved: {image_save_path}")

except Exception as e:

print(f"Error saving image from page {page_number + 1}: {e}")

# 释放内存

del page, img_list

# 关闭PDF文档

doc.close()

print(f"Finished extracting images from {filename}")

# 输出信息到屏幕

print("All images have been extracted from PDF files.")

# 确保屏幕输出信息

input("按任意键退出...")

在vscode中运行Python程序,成功提取所有图片:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年融资融券利率最新变化,又降低了?

最近有很多朋友在问我问融资融券的业务,都是比较关心这个利率的问题。确实,做融资融券最重要的利率,利率低会节省很大一笔资金,今天在这边给大家对接一个上市券商,可以给到大家万一的交易佣金和5%的融资利率&#xff0…

乡村振兴规划设计一站式资料大全,能为乡村振兴从业者带来什么帮助?

乡村振兴规划设计一站式资料大全对于乡村振兴从业者来说,具有非常重要的帮助作用。这种资料大全通常包含了从政策解读、市场分析、规划设计、到实施策略等各个方面的详尽信息,能够极大地提升从业者的工作效率和专业能力。 具体来说,乡村振兴规…

Python selenium

1.搭建环境 1.安装: pip install msedge-selenium-tools 不要使用pip install selenium,我的电脑上没法运行 2.下载驱动 Microsoft Edge WebDriver |Microsoft Edge 开发人员 edge浏览器点设置---关于即可找到版本号,一定要下载对应版…

实践精益理念:精益生产培训助力企业持续增长

在日益激烈的市场竞争中,企业如何寻找持续增长的动力,提升整体创新能力和核心竞争力?张驰咨询通过多年来的深入研究和实践,结合众多企业的实际情况,带来了精益生产培训的全新视角。 在近期举办的一次精益生产培训中&am…

五种算法(BWO、RUN、SO、HO、GWO)求解复杂城市地形下无人机路径规划,可以修改障碍物及起始点(MATLAB)

一、算法介绍 (1)白鲸优化算法BWO 参考文献:Zhong C, Li G, Meng Z. Beluga whale optimization: A novel nature-inspired metaheuristic algorithm[J]. Knowledge-Based Systems, 2022, 109215. (2)龙格-库塔优化…

服务器数据恢复—RAID5磁盘阵列两块盘离线的数据恢复过程

服务器故障: 服务器中有一组由多块硬盘组建的raid5磁盘阵列,服务器阵列中2块硬盘先后掉线导致服务器崩溃。 服务器数据恢复过程: 1、将故障服务器中所有磁盘编号后取出,由硬件工程师对掉线的两块磁盘进行物理故障检测&#xff0c…

二层交换机与路由器连通上网实验

华为二层交换机与路由器连通上网实验 二层交换机是一种网络设备,用于在局域网(LAN)中转发数据帧。它工作在OSI模型的第二层,即数据链路层。二层交换机通过学习和维护MAC地址表,实现了数据的快速转发和广播域的隔离。 实…

java数据结构之数组系统了解

1.数组介绍 数组就是一个存储数据的容器,容器的长度固定、存储元素的数据类型固定。 跟变量加以区分:变量也可以存储数据,但是只能存一个值。当要存的数据比较多的时候,用变量就不方便了。我们就可以使用数组来存储。 1.1数组…

并发编程实现

一、并行编程 1、Parallel 类 Parallel类是System.Threading.Tasks命名空间中的一个重要类,它提供数据并行和任务并行的高级抽象。 For和ForEach Parallel类下的For和ForEach对应着普通的循环和遍历(普通的for和foreach),但执行时会尝试在多个线程上…

安防视频/视频汇聚系统EasyCVR视频融合云平台助力智能化酒店安防体系的搭建

一、背景需求 2024年“五一”假期,全国文化和旅游市场总体平稳有序。文化和旅游部6日发布数据显示,据文化和旅游部数据中心测算,全国国内旅游出游合计2.95亿人次。“五一”假期县域市场酒店预订订单同比增长68%,而酒店作为一个高…

SpringCloudAlibaba:4.3云原生网关higress的JWT 认证

概述 简介 JWT是一种用于双方之间传递安全信息的简洁的、URL安全的声明规范。 定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息,特别适用于分布式站点的单点登录(SSO)场景 session认证的缺点 1.安…

简单数据结构——栈和队列1(栈超全)(初始化,销毁,出栈入栈销毁实现,例题运用)

知识特点 类似数据表链表,在逻辑上依次存储,但对比顺序表和链表有所限制,不能随便存储 一定要先掌握顺序表的实现,本人博客有顺序表专栏大家可以自行查看,看懂顺序表专栏之后再来了解栈的实现会更容易懂。 如果还没…

使用DBeaver连接postgreSql提示缺少驱动

重新安装电脑之后用dbeaver链接数据库的时候,链接PG库一直提示缺少驱动,当选择下载驱动的时候又非常非常慢经常失败,尝试了一下更改源然后下载库驱动就非常快了,当然也包括dbeaver的自动更新。 方法:点击菜单栏【窗口…

闲来装个虚拟机Ubuntu24.04和硬盘分区及挂载

简述 最近ubuntu出新版本了,ubuntu24.04, 俗称高贵食蚁兽。5年前进行Android或者linux开发基本是在windows下的虚拟机中进行。目前,虽然物质基础提高了,功能有独立进行编译、代码管理的服务器了。可以通过ssh登录,但是…

Seata之AT 模式的使用

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Seata 是一款开源的…

ChIP-seq染色质图谱检测方法的局限性及改善方式

ChIP-seq是最广泛使用的染色质图谱检测方法,但有很大的局限性,具体表现为: 1.高细胞需求量; 2.低吞吐量; 3.技术困难; 4.高成本,深度测序; 5.数据质量差,变量大 CUT&…

使用CNN或resnet,分别在flower5,flower17,flower102数据集上实现花朵识别分类-附源码-免费

前言 使用cnn和resnet实现了对flower5,flower17,flower102数据集上实现花朵识别分类。也就是6份代码,全部在Gitee仓库里,记得点个start支持谢谢。 本文给出flower17在cnn网络实现,flower102在resnet网络实现的代码。…

docker私有仓库的registry

简介 Docker私有仓库的Registry是一个服务,主要用于存储、管理和分发Docker镜像。具体来说,Registry的功能包括: 存储镜像:Registry提供一个集中的地方来存储Docker镜像,包括镜像的层次结构和元数据。 版本控制&…

基于HSI模型的水下图像增强算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

【数据结构】-- 链表专题

链表的分类 前面我们实现了单链表,单链表只是链表的一种。可以根据以下几个标准来判断链表的类型: 1.单向或者双向 如图所示,单向链表中一个节点的指针域只储存了下一个节点的指针,能通过前一个节点访问后一个节点,无…