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

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值