如何批量从1000+份PDF中提取最后四页?
批量提取PDF最后4页的自动化方案
以下是几种无需Adobe Pro、适合大量文件的高效实现方式:
方法一:使用pdftk(跨平台轻量工具)
- 先安装pdftk:Windows可直接下载安装包,mac用
brew install pdftk,Linux用sudo apt-get install pdftk-java(部分发行版需指定java版本) - 批量处理命令:
- Windows命令提示符(CMD):在PDF文件所在文件夹打开CMD,执行:
for %f in (*.pdf) do pdftk "%f" cat end-3 output "%~nf_最后4页.pdf" - Linux/mac终端:
for f in *.pdf; do pdftk "$f" cat end-3 output "${f%.pdf}_最后4页.pdf"; done
- Windows命令提示符(CMD):在PDF文件所在文件夹打开CMD,执行:
- 说明:
end-3表示从倒数第3页到最后一页(共4页),如果PDF页数不足4页,会自动提取所有页面,无报错。
方法二:使用pdfjam(TeX生态工具,语法直观)
- 前置条件:安装TeX Live发行版(自带pdfjam),Windows/mac/Linux均可安装
- 批量处理命令:
- Windows CMD:
for %f in (*.pdf) do pdfjam "%f" --last 4 --outfile "%~nf_最后4页.pdf" - Linux/mac终端:
for f in *.pdf; do pdfjam "$f" --last 4 --outfile "${f%.pdf}_最后4页.pdf"; done
- Windows CMD:
- 优点:
--last 4直接指定提取最后4页,语义更清晰,对少页PDF兼容性好。
方法三:Python脚本(灵活可定制)
- 安装依赖库:执行
pip install PyPDF2 - 新建脚本文件
extract_last4.py,内容如下:import os from PyPDF2 import PdfReader, PdfWriter # 遍历当前目录下所有PDF文件 for filename in os.listdir('.'): if not filename.lower().endswith('.pdf'): continue # 读取原PDF reader = PdfReader(filename) total_pages = len(reader.pages) # 计算起始页码:不足4页则从第1页开始 start_idx = max(0, total_pages - 4) # 写入新PDF writer = PdfWriter() for page_num in range(start_idx, total_pages): writer.add_page(reader.pages[page_num]) # 生成新文件名并保存 base_name = os.path.splitext(filename)[0] new_filename = f"{base_name}_最后4页.pdf" with open(new_filename, 'wb') as out_file: writer.write(out_file) - 使用方式:将脚本放到PDF文件所在目录,执行
python extract_last4.py即可批量处理。
内容的提问来源于stack exchange,提问作者Financeguy
相关产品推荐
相关产品推荐

