乐于分享
好东西不私藏

88张PDF图片2秒导出原图,再也不用截图了,25行代码搞定

88张PDF图片2秒导出原图,再也不用截图了,25行代码搞定

PDF里有88张图片,老板要你全部提取出来。右键没有“另存为”,只能用截图工具一张一张框选、保存、命名……搞了半天,图片还是糊的。

我写了25行代码,一键提取PDF所有图片,原图导出,画质无损。

效果预览

提取后:

PDF图片提取/├── 产品手册_图片/│   ├── 第1页_图片001.jpg│   ├── 第2页_图片001.jpg│   └── ...└── 提取报告.xlsx

核心代码(精简版)

import fitzdef extract_pdf_images(pdf_path, output_folder):    doc = fitz.open(pdf_path)    count = 0    for page in doc:        for img in page.get_images():            xref = img[0]            base_image = doc.extract_image(xref)            with open(f"{output_folder}/图片_{count+1}.{base_image['ext']}"'wb'as f:                f.write(base_image["image"])            count += 1    print(f"✅ 提取 {count} 张图片")

怎么用

  1. pip install PyMuPDF pandas openpyxl

  2. 复制完整代码保存为 .py

  3. 运行,输入PDF文件夹路径

  4. 查看「PDF图片提取」文件夹

核心原理

为什么能够无损提取? PyMuPDF(fitz)可以直接读取PDF内部结构,通过page.get_images()获取所有图片对象,再用extract_image()提取原始图片数据。PDF中的图片是嵌入的原始文件,直接提取出来就是原图,画质完全无损。