You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取多份PDF文件中包含图片的完整页面?

提取PDF中包含图片的完整页面方法

命令行工具方案(适合快速单文件处理)

  • 组合pdfgrep和pdftk工具,先定位含图片的页码,再提取对应页面
    1. 安装工具:
      • Ubuntu/Debian:sudo apt install pdfgrep pdftk
      • macOS:brew install pdfgrep pdftk-java
    2. 检测含图片的页码:
      执行命令:pdfgrep -n "/Subtype /Image" input.pdf
      输出会显示所有包含图片的页码(格式类似2:/Subtype /Image),手动整理出页码列表(比如2,5,7)
    3. 提取目标页面:
      pdftk input.pdf cat 2 5 7 output pages_with_images.pdf

Python脚本方案(适合批量自动化处理)

用pdfplumber检测页面内的图片,结合PyPDF2提取对应页面,代码示例:

import pdfplumber
from PyPDF2 import PdfWriter, PdfReader
import os

# 批量处理指定目录下的所有PDF
input_dir = "./your_pdf_dir"
output_dir = "./output_images_pages"

os.makedirs(output_dir, exist_ok=True)

for filename in os.listdir(input_dir):
    if not filename.endswith(".pdf"):
        continue
    input_path = os.path.join(input_dir, filename)
    output_path = os.path.join(output_dir, f"img_pages_{filename}")
    
    writer = PdfWriter()
    reader = PdfReader(input_path)
    
    for page_idx in range(len(reader.pages)):
        with pdfplumber.open(input_path) as pdf:
            pdf_page = pdf.pages[page_idx]
            # 判断当前页面是否包含图片
            if len(pdf_page.images) > 0:
                writer.add_page(reader.pages[page_idx])
    
    with open(output_path, "wb") as out_file:
        writer.write(out_file)
    print(f"处理完成:{filename}")

使用前先安装依赖:pip install pdfplumber PyPDF2

注意事项

  • 加密PDF需要先解密才能进行检测和提取
  • 扫描版PDF(整页是图片的PDF)无法用上述方法检测,这类PDF本身就是图片载体,若需要提取可直接导出所有页面

内容的提问来源于stack exchange,提问作者xxgaryxx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:15:37