# pdf-slice **Repository Path**: sdh-2017/pdf-slice ## Basic Information - **Project Name**: pdf-slice - **Description**: pdf 切割 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-20 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF 切割工具 一个基于Node.js的交互式PDF切割程序,可以帮助您从PDF文档中提取指定页面范围的页面。 ## 功能特点 - 🎯 **交互式界面**: 友好的命令行交互界面 - 📄 **页面范围选择**: 支持指定起始和结束页面 - ✅ **文件验证**: 自动验证PDF文件的有效性 - 📊 **页面统计**: 显示PDF总页数和提取页面数 - 🔄 **操作确认**: 执行前确认操作参数 - 📁 **智能命名**: 自动生成输出文件名 ## 安装依赖 ```bash npm install ``` ## 使用方法 ### 启动程序 ```bash npm start ``` 或者 ```bash node index.js ``` ### 使用步骤 1. **输入PDF文件路径** - 支持相对路径和绝对路径 - 程序会自动验证文件存在性和PDF格式 2. **选择页面范围** - 输入起始页面(从1开始) - 输入结束页面 - 程序会显示PDF总页数供参考 3. **设置输出路径** - 可以输入自定义输出路径 - 直接回车使用默认命名规则:`原文件名_pages_起始页-结束页.pdf` 4. **确认操作** - 查看操作参数摘要 - 确认后执行切割操作 ### 示例 ``` === PDF 切割工具 === 欢迎使用PDF切割程序! 本程序可以帮助您从PDF文档中提取指定页面范围的页面。 请输入PDF文件路径: document.pdf ✅ 文件加载成功!PDF总页数: 50 PDF总页数: 50 页面编号从 1 开始 请输入起始页面 (1-50): 10 请输入结束页面 (10-50): 20 请输入输出文件路径 (回车使用默认: document_pages_10-20.pdf): === 操作确认 === 输入文件: D:\workspace\learn\pdf-slice\document.pdf 输出文件: D:\workspace\learn\pdf-slice\document_pages_10-20.pdf 页面范围: 10-20 (共11页) 确认执行切割操作?(y/n): y 🔄 正在处理PDF文件... ✅ PDF切割完成! 📄 输出文件: D:\workspace\learn\pdf-slice\document_pages_10-20.pdf 📊 提取页面: 10-20 (共11页) ``` ## 技术实现 - **pdf-lib**: 用于PDF文档的读取、处理和生成 - **readline-sync**: 提供同步的交互式命令行输入 - **fs**: 文件系统操作 - **path**: 路径处理工具 ## 注意事项 - 确保输入的PDF文件没有被其他程序占用 - 输出目录需要有写入权限 - 程序会自动处理路径分隔符,支持Windows和Unix系统 - 如果输出文件已存在,会被覆盖 ## 错误处理 程序包含完善的错误处理机制: - 文件不存在检查 - PDF格式验证 - 页面范围验证 - 文件读写权限检查