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

批量导出目录中PDF文件页数至.CSV文件的技术方案问询

批量提取PDF页数到CSV的解决方案

针对你需要批量获取指定目录下PDF页数并导出到CSV的需求,这里提供两种实用方案,不管你偏好代码还是命令行工具都能搞定:

方案一:Python脚本(灵活可控,适合自定义扩展)

如果不介意编码,Python是最灵活的选择,我们可以用pdfplumber或者PyPDF2库来读取PDF页数,脚本还能轻松扩展提取更多属性。

步骤1:安装依赖

打开终端/命令提示符,运行:

pip install pdfplumber pandas

(pandas用来方便生成CSV,pdfplumber处理PDF更稳定)

步骤2:编写脚本

创建一个pdf_page_count.py文件,内容如下:

import os
import pdfplumber
import pandas as pd

def get_pdf_page_count(pdf_path):
    try:
        with pdfplumber.open(pdf_path) as pdf:
            return len(pdf.pages)
    except Exception as e:
        print(f"处理文件 {pdf_path} 时出错: {e}")
        return None

def main(folder_path):
    # 遍历目录下所有PDF文件
    pdf_files = [f for f in os.listdir(folder_path) if f.lower().endswith('.pdf')]
    data = []
    
    for pdf_file in pdf_files:
        file_path = os.path.join(folder_path, pdf_file)
        page_count = get_pdf_page_count(file_path)
        if page_count is not None:
            data.append({
                "文件名": pdf_file,
                "页数": page_count,
                "文件路径": file_path  # 可选,如果你需要完整路径
            })
    
    # 导出到CSV
    df = pd.DataFrame(data)
    df.to_csv("pdf_page_counts.csv", index=False, encoding='utf-8-sig')
    print(f"已成功导出 {len(data)} 个PDF文件的页数到 pdf_page_counts.csv")

if __name__ == "__main__":
    # 替换成你的目标目录路径
    target_folder = r"C:\你的PDF目录路径"
    main(target_folder)

步骤3:运行脚本

修改脚本里的target_folder为你的PDF所在目录,然后运行:

python pdf_page_count.py

执行完成后会在脚本同目录生成pdf_page_counts.csv,包含文件名、页数等信息。


方案二:命令行工具(无需编码,快速上手)

如果你不想写代码,可以用pdfinfo(属于poppler工具集)来批量提取页数,再整理成CSV。

步骤1:安装poppler

  • Windows:下载poppler压缩包,解压后把bin目录添加到系统环境变量PATH里
  • macOS:用Homebrew安装:brew install poppler
  • Linux:用包管理器安装,比如Ubuntu:sudo apt-get install poppler-utils

步骤2:批量提取并生成CSV

打开终端/命令提示符,进入你的PDF目录,运行以下命令:

Windows(PowerShell):

Get-ChildItem -Filter *.pdf | ForEach-Object {
    $pageCount = (pdfinfo $_.FullName | Select-String 'Pages:').Line.Split(':')[1].Trim()
    [PSCustomObject]@{
        文件名 = $_.Name
        文件路径 = $_.FullName
        页数 = $pageCount
    }
} | Export-Csv -Path "pdf_page_counts.csv" -NoTypeInformation -Encoding UTF8

Linux/macOS:

ls *.pdf | while read f; do
    pages=$(pdfinfo "$f" | grep Pages | awk '{print $2}')
    echo "$f,$pages,$(realpath "$f")"
done > pdf_page_counts.csv

适配你的索引系统

导出CSV后,你可以把这份文件和你的Excel文档(包含标题、唯一ID)合并:

  • 用Excel的VLOOKUP函数,通过文件名关联页数
  • 或者用Power Query导入两份文件,按文件名合并数据,这样就能轻松对应Bates编号,构建你的文档索引系统了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:46:17