# pdf-tools **Repository Path**: reneryan/pdf-tools ## Basic Information - **Project Name**: pdf-tools - **Description**: PDF工具,包括PDF页面截断、B4转A4等。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-23 - **Last Updated**: 2026-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF 页面截断工具 这是一个用于处理PDF文件的Python工具,可以遍历指定文件夹及其子目录下的所有PDF文件,为每个文件保留前N页,并按原目录结构输出到指定的输出文件夹。 ## 功能特性 - 遍历指定文件夹及其所有子目录 - 处理所有PDF文件 - 保留每个PDF文件的前m页(默认10页) - 保留每个PDF文件的后n页(默认0页) - 自动避免重复页面(如果前m页和后n页有重叠) - 按原目录结构输出到指定文件夹 - 支持命令行参数配置 ## 安装依赖 ```bash pip install pypdf ``` ## 使用方法 ```bash python pdf_truncator.py -i <输入文件夹路径> -o <输出文件夹路径> [-f <前m页>] [-l <后n页>] ``` 参数说明: - `-i, --input`: 输入文件夹路径(必需) - `-o, --output`: 输出文件夹路径(必需) - `-f, --first-pages`: 保留前m页(可选,默认10页) - `-l, --last-pages`: 保留后n页(可选,默认0页) ## 示例 ### 示例1:保留前10页(默认行为) `python pdf_truncator.py -i "D:\pdf_files" -o "D:\output_pdfs"` ### 示例2:保留前5页 `python pdf_truncator.py -i "D:\pdf_files" -o "D:\output_pdfs" -f 5` ### 示例3:保留前10页和后3页 `python pdf_truncator.py -i "D:\pdf_files" -o "D:\output_pdfs" -f 10 -l 3` ### 示例4:只保留后5页 `python pdf_truncator.py -i "D:\pdf_files" -o "D:\output_pdfs" -f 0 -l 5` ## 注意事项 1. 请确保输入文件夹存在 2. 输出文件夹会自动创建(如果不存在) 3. 如果PDF文件的页数少于指定的保留页数,将保留所有页 4. 程序会自动避免重复页面(如果前m页和后n页有重叠部分) 5. 程序会自动处理子目录结构,保持原有的文件组织方式 6. 支持只保留前m页、只保留后n页,或同时保留前m页和后n页 ## 技术实现 - 使用Python的`os`和`shutil`模块进行文件和目录操作 - 使用`pypdf`库(PyPDF2的继任者)处理PDF文件 - 支持命令行参数解析 - 包含错误处理机制 ## 许可证 本工具使用MIT许可证。