PDF Reader (Iyeque) 是一个 PDF 阅读技能,使用 PyMuPDF(导入名为 fitz)进行文本提取和元数据读取。
用途 该技能主要用于从 PDF 文件中提取纯文本内容,以及获取文档的元数据信息。适用于需要批量处理 PDF、快速预览 PDF 内容、提取学术论文文本或获取文档标题、作者、日期等信息的场景。
安装 pip install pymupdf
主要能力 该技能提供两个命令:
- extract — 提取文本 从指定的 PDF 文件中提取纯文本。 参数:
- file_path(字符串,必填):PDF 文件路径。
- --max_pages(整数,可选):最大提取页数。 用法示例:
提取全部文本
python3 skills/pdf-reader/reader.py extract /path/to/document.pdf
仅提取前 5 页
python3 skills/pdf-reader/reader.py extract /path/to/document.pdf --max_pages 5 输出:PDF 中的纯文本内容。
- metadata — 获取文档信息 获取文档的元数据。 参数:
- file_path(字符串,必填):PDF 文件路径。 用法示例: python3 skills/pdf-reader/reader.py metadata /path/to/document.pdf 输出:包含文档元数据的结构化 JSON。
元数据字段
- title:文档标题
- author:文档作者
- subject:文档主题
- creator:创建该 PDF 的软件
- producer:PDF 生成软件
- creationDate:创建日期
- modDate:修改日期
- format:PDF 格式版本
- encryption:加密信息(如有)
示例输出 提取输出: Plain text content from the PDF...
元数据输出: { "title": "Annual Report 2024", "author": "John Doe", "creationDate": "D:20240115120000Z", "creator": "Microsoft Word", "producer": "Adobe PDF Library", "format": "PDF 1.7" }
特性
- 使用 PyMuPDF(fitz)进行快速提取
- 支持元数据读取,包括创建日期和修改日期
- 通过 --max_pages 限制页数,便于处理大文档
- 支持加密 PDF(如适用则需要密码)
- 对损坏或格式错误的 PDF 提供错误处理
适用场景
- 从 PDF 文件中提取文本内容
- 获取文档元数据(标题、作者、日期)
- 批量处理多个 PDF 以进行分析
- 快速预览 PDF 内容
- 提取学术论文文本
Python API 替代方式 也可以直接在 Python 中使用 PyMuPDF:
import fitz # PyMuPDF
打开 PDF
doc = fitz.open("document.pdf")
获取元数据
print(doc.metadata)
提取所有页面的文本
for page in doc: text = page.get_text() print(text)
提取指定页面的文本
page = doc[0] # 第一页(从 0 开始索引) text = page.get_text()
说明
- 使用 PyMuPDF(导入为 fitz)进行快速、可靠的 PDF 处理
- 支持加密 PDF(如需要密码则会提示修改)
- 通过 --max_pages 选项高效处理大型 PDF
- 如果文件未找到或 PDF 无效,返回错误信息
错误处理
- File not found:路径无效,检查文件路径
- Not a valid PDF:文件损坏,验证文件完整性
- Encrypted PDF:受密码保护,如需要则提供密码