批量导出目录中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
相关产品推荐
相关产品推荐

