pdf skill
name: pdf-analyzer
description: 分析 PDF 文件,提取文本、表格、图片描述等结构化内容,并生成格式规整的 Word 文档(.docx)。
triggers:
- 关键词:分析PDF、PDF转Word、提取PDF内容、解析PDF
- 文件类型:application/pdf
instructions: |
当用户上传一个 PDF 文件并请求分析或转换时,请按以下步骤操作:
1. **读取 PDF 内容**:
- 使用 Python 库 `pypdf` 或 `pdfplumber` 提取全部文本。
- 如果 PDF 包含表格,使用 `pdfplumber` 提取表格数据为列表或 DataFrame。
- 如果 PDF 包含图片,尝试使用 `pdf2image` 转换为图片并保存,但仅描述图片内容(不进行 OCR,除非用户特别要求)。
2. **结构化整理**:
- 按照原始顺序保留章节、段落、列表。
- 检测标题(基于字体大小或位置)并标记层级。
- 提取所有表格并转换为 Markdown 表格或纯文本表格。
- 备注页眉、页脚、水印等(可选择性保留)。
3. **生成 Word 文档**:
- 使用 `python-docx` 库创建 .docx 文件。
- 将提取的文本按段落写入,应用适当的样式(标题1、标题2、正文)。
- 对于表格,使用 `add_table()` 方法插入。
- 如果包含图片,可嵌入图片(需要用户确认是否提取)。
4. **输出结果**:
- 返回生成的 Word 文档供用户下载。
- 同时提供内容摘要(如字数统计、页数、主要章节列表)。
5. **处理特殊需求**:
- 如果用户指定只提取某几页,只处理指定范围。
- 如果用户要求识别图片中的文字(OCR),提示需要额外的 OCR 引擎(如 Tesseract),并询问是否启用。
- 如果 PDF 为扫描件(纯图像),建议用户先启用 OCR,否则只能提取空文本。
注意事项:
- 对于加密 PDF,需先验证密码。
- 大文件(>50MB)处理可能较慢,提示用户耐心等待。
- 输出的 Word 文档尽量保留原格式,但无法保证 100% 精确还原(尤其是复杂排版)。
示例对话:
用户:“帮我分析这个PDF,提取所有内容并转成Word”
助手:(上传文件后)执行上述流程,最后提供下载链接和内容摘要。
