# pdfox **Repository Path**: wangyubin/pdfox ## Basic Information - **Project Name**: pdfox - **Description**: 汇集常用的PDF操作 - **Primary Language**: Python - **License**: MIT - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-23 - **Last Updated**: 2025-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pdfox 一个用于处理PDF文件的命令行工具。 ## 安装 1. 克隆项目仓库 ```bash git clone https://gitee.com/wangyubin/pdfox.git cd pdfox ``` 2. 安装依赖 ```bash pip install -e . ``` ## 子命令 ### split - 拆分PDF文件 将PDF文件拆分为单独的页面。 #### 参数 - `pdf_path`:要拆分的PDF文件路径(必填) - `output_dir`:保存拆分后PDF页面的目录。默认为 `output/pdfox_splited` #### 使用示例 ```bash # 拆分PDF文件到默认目录 python main.py split --pdf_path /path/to/your/file.pdf # 拆分PDF文件到指定目录 python main.py split --pdf_path /path/to/your/file.pdf --output_dir /path/to/output/directory ``` ### merge - 合并PDF文件 将多个PDF文件合并成一个文件。 #### 参数 - `-f, --f`:包含PDF文件路径列表的文本文件路径(必填)。文本文件中每个PDF路径占一行,空行将被忽略。 - `-o, --o`:保存合并后PDF文件的目录。默认为 `pdfox_merged` #### 使用示例 1. 首先创建一个包含PDF路径的文本文件(例如 `pdf_list.txt`): ``` /path/to/first.pdf /path/to/second.pdf /path/to/third.pdf ``` 2. 然后使用merge命令: ```bash # 合并PDF文件到默认目录 python main.py merge -f pdf_list.txt # 合并PDF文件到指定目录 python main.py merge -f pdf_list.txt -o /path/to/output/directory ``` ### extract - 抽取PDF页面 从PDF文件中抽取指定页面并合并成新的PDF文件。 #### 参数 - `-f, --f`:要抽取页面的PDF文件路径(必填) - `pages`:要抽取的页码,用逗号隔开的数字,例如 `1,3,5,2` - `-o, --o`:保存抽取后PDF文件的目录。默认为 `pdfox_extracted` #### 使用示例 ```bash # 从PDF文件中抽取指定页面到默认目录 python main.py extract -f /path/to/your/file.pdf --pages 1,3,5,2 # 从PDF文件中抽取指定页面到指定目录 python main.py extract -f /path/to/your/file.pdf --pages 1,3,5,2 -o /path/to/output/directory ``` ### compress - 压缩PDF文件 减小PDF文件的大小,通过压缩图像和优化文档结构实现。 #### 参数 - `-f, --f`:要压缩的PDF文件路径(必填) - `-o, --o`:保存压缩后PDF文件的目录。默认为 `pdfox_compressed` #### 使用示例 ```bash # 压缩PDF文件到默认目录 python main.py compress -f /path/to/your/file.pdf # 压缩PDF文件到指定目录 python main.py compress -f /path/to/your/file.pdf -o /path/to/output/directory ``` ### imgs2pdf - 图片转PDF 将一系列图片合并成一个PDF文件。 #### 参数 - `imgs_txt`:包含图片路径列表的文本文件路径(必填)。文本文件中每个图片路径占一行,空行将被忽略。 - `-o, --o`:保存合并后PDF文件的目录。默认为 `pdfox_imgs2pdf` #### 使用示例 1. 首先创建一个包含图片路径的文本文件(例如 `image_list.txt`): ``` /path/to/first.jpg /path/to/second.png /path/to/third.jpg ``` 2. 然后使用imgs2pdf命令: ```bash # 将图片合并为PDF文件到默认目录 python main.py imgs2pdf --imgs_txt image_list.txt # 将图片合并为PDF文件到指定目录 python main.py imgs2pdf --imgs_txt image_list.txt --o /path/to/output/directory ``` ### pdf2imgs - PDF转图片 将PDF文件拆分为一系列图片。 #### 参数 - `-f, --f`:需要拆分成图片的PDF文件路径(必填) - `-o, --o`:保存图片的目录。默认为 `pdfox_pdf2imgs` #### 使用示例 ```bash # 将PDF转换为图片到默认目录 python main.py pdf2imgs --f /path/to/your/file.pdf # 将PDF转换为图片到指定目录 python main.py pdf2imgs --f /path/to/your/file.pdf --o /path/to/output/directory ``` ## 技术栈 - Python 3.12+ - fire:命令行界面构建 - pypdf:PDF文件处理 - pymupdf:PDF压缩功能、图片转PDF功能和PDF转图片功能 - pathlib:文件路径操作 - loguru:日志记录 ## 许可证 MIT