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

使用Python统计PDF内图片数量并写入CSV的问题求助

问题原因

  • 第一段代码未实现页面遍历逻辑,也没有对image_list、page_index变量赋值,读取的是无效的变量值,因此结果和实际不符
  • 第二段代码遍历文件时没有将当前打开的PDF赋值给doc变量,也没有做累计计数逻辑,仅将最后一个图片对象转为字符串输出,因此所有文件返回结果相同

可用实现方案

方案1:仅输出文件名+总图片数

import fitz
import csv
import os

# 替换为你自己的PDF文件路径列表
pdfs = ["test1.pdf", "test2.pdf"]

with open(r'output.csv', 'w', newline='', encoding='utf-8') as csvfile:
    propertyWriter = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
    propertyWriter.writerow(['文件名', '总图片数', '错误信息'])
    for file_path in pdfs:
        total_img = 0
        error_msg = ""
        try:
            # 打开当前PDF文件
            doc = fitz.open(file_path)
            # 遍历每一页统计图片数
            for page in doc:
                img_list = page.get_images()
                total_img += len(img_list)
            doc.close()
        except Exception as e:
            error_msg = str(e)
        # 仅需要文件名的话可以把file_path替换为os.path.basename(file_path)
        propertyWriter.writerow([file_path, total_img, error_msg])

方案2:输出每页图片明细

import fitz
import csv
import os

# 替换为你自己的PDF文件路径列表
pdfs = ["test1.pdf", "test2.pdf"]

with open(r'output_detail.csv', 'w', newline='', encoding='utf-8') as csvfile:
    propertyWriter = csv.writer(csvfile, quoting=csv.QUOTE_ALL)
    propertyWriter.writerow(['文件名', '总图片数', '每页图片数', '错误信息'])
    for file_path in pdfs:
        total_img = 0
        page_img_counts = []
        error_msg = ""
        try:
            doc = fitz.open(file_path)
            for page_idx, page in enumerate(doc, start=1):
                img_count = len(page.get_images())
                page_img_counts.append(f"第{page_idx}页:{img_count}张")
                total_img += img_count
            doc.close()
        except Exception as e:
            error_msg = str(e)
        propertyWriter.writerow([
            file_path, 
            total_img, 
            ",".join(page_img_counts),
            error_msg
        ])

说明

直接调用page.get_images()方法获取当前页的所有图片对象列表,长度就是当前页的图片数量,不需要额外处理图片内容,统计效率更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 10:27:03