Communitygithub.com

PDF 技能

一份实用的开源智能体技能,包含本地化使用指南、上游贡献归属及完整下载资源。

PDF 技能 是什么?

该 PDF 技能为 AI 智能体(如 Claude Code、Cursor 等)提供了一套结构化的工作流程,用于可靠地读取、生成和验证 PDF 文档。它推荐使用 `pdftoppm` 将 PDF 页面渲染为 PNG 图片进行视觉检查,确保布局准确,并利用 `reportlab` 以编程方式创建格式良好的 PDF。文本提取任务则使用 `pdfplumber` 或 `pypdf`。该技能详细说明了依赖关系(包括 Python 包和系统工具 poppler),并推荐使用 `uv` 进行依赖管理,同时为其他环境(如 Homebrew 或 apt-get)提供了后备安装方法。它要求中间文件存储在 `tmp/pdfs/` 目录中,最终产物输出到 `output/pdf/`,并强调在交付前必须进行严格的视觉质量检查,确保无渲染缺陷、排版一致且引用清晰。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add ailessonio/open-source-skills

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

PDF 技能 是做什么的?

何时使用

  • 在需要关注布局和视觉效果的情况下,读取或审阅 PDF 内容。
  • 以可靠的格式以编程方式创建 PDF。
  • 在交付前验证最终的渲染效果。

工作流程

  1. 首选视觉审阅:将 PDF 页面渲染为 PNG 图片并检查它们。
    • 如果可用,使用 pdftoppm。
    • 如果不可用,安装 Poppler 或让用户在本地检查输出。
  2. 创建新文档时,使用 reportlab 生成 PDF。
  3. 使用 pdfplumber(或 pypdf)进行文本提取和快速检查;不要依赖它来保证布局的准确性。
  4. 每次有意义的更新后,重新渲染页面并验证对齐、间距和可读性。

临时目录和输出规范

  • 使用 tmp/pdfs/ 存放中间文件;完成后删除。
  • 在此仓库中工作时,将最终产物写入 output/pdf/ 目录。
  • 保持文件名稳定且具有描述性。

依赖项(如缺失则安装)

推荐使用 uv 进行依赖管理。

Python 包:

uv pip install reportlab pdfplumber pypdf

如果 uv 不可用:

python3 -m pip install reportlab pdfplumber pypdf

系统工具(用于渲染):

# macOS (Homebrew)
brew install poppler

# Ubuntu/Debian
sudo apt-get install -y poppler-utils

如果在此环境中无法安装,请告知用户缺失的依赖项及其本地安装方法。

环境

无需环境变量。

渲染命令

pdftoppm -png $INPUT_PDF $OUTPUT_PREFIX

质量标准

  • 保持精致的视觉设计:一致的排版、间距、页边距和章节层次结构。
  • 避免渲染问题:文字被裁剪、元素重叠、表格损坏、黑块或字形无法识别。
  • 图表、表格和图片必须清晰、对齐且标注明确。
  • 仅使用 ASCII 连字符。避免使用 U+2011(不间断连字符)和其他 Unicode 破折号。
  • 引用和参考文献必须人类可读;绝不要保留工具令牌或占位符字符串。

最终检查

  • 在最新的 PNG 检查显示零视觉或格式缺陷之前,不要交付。
  • 确认页眉/页脚、页码和章节过渡看起来精致。
  • 保持中间文件有序,或在最终批准后将其删除。

相关技能