零代码编程:用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 = docpage_number

img_list = page.get_images(full=True)

分批次提取页面中的图片

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

try:

xref = img0

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程序,成功提取所有图片:

相关推荐
Patrick在香港11 小时前
Python Docker镜像从1.2GB到89MB:多阶段构建的完整优化实录
java·python·docker·信息可视化·容器·数据分析·ai编程
上海安当技术12 小时前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
我是唐青枫12 小时前
Java JCommander 实战详解:用注解解析命令行参数
java·开发语言
大鹏说大话12 小时前
C++ 内存布局详解:类、虚函数、虚表底层原理
java·开发语言
还是鼠鼠12 小时前
Spring AI连接DeepSeek与通义千问:application.yaml配置详解
java·通义千问·spring ai·deepseek
计算机小白一个13 小时前
蓝桥杯 Java B 组之哈希表应用(两数之和、重复元素判断)
java·数据结构·算法·蓝桥杯
G311354227314 小时前
大模型不可用时,业务还能不能继续:企业需要设计降级方案
大数据·服务器·数据库·人工智能·深度学习
sunburn-14 小时前
Java 队列全面详解:从入门到面试实战
java·开发语言·汇编·ide·idea
vx-程序开发15 小时前
springboot农产品运输服务平台---附源码75498
java·javascript·spring boot·python·eclipse·django·php
小陈同学!!15 小时前
防火墙双机热备实验
运维·服务器