关于 pdf-skill
pdf-skill 提供以编程方式生成、解析和编辑 PDF 的指导,帮助开发者创建文档、提取内容、处理页面与表单,以及将 HTML 转为 PDF。
主要功能
- 01以编程方式生成 PDF
- 02提取文本和数据
- 03合并、拆分和编辑 PDF
- 04处理 PDF 表单
- 05将 HTML 转换为 PDF
适用场景
- 01根据数据生成报告
- 02提取 PDF 文件内容
- 03合并或拆分文档
- 04以编程方式填写 PDF 表单
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill pdf-skill安装后在 Claude Code 中输入/pdf-skill确认已加载。
详细介绍
PDF 技能
目的
提供程序化 PDF 生成、解析和处理方面的专业知识。专注于从头创建 PDF、提取内容、合并/拆分文档,以及使用 PDFKit、PDF.js、Puppeteer 和类似工具处理表单。
适用场景
- 以编程方式生成 PDF
- 从 PDF 中提取文本或数据
- 合并或拆分 PDF 文档
- 以编程方式填写 PDF 表单
- 将 HTML 转换为 PDF
- 添加水印或批注
- 解析 PDF 结构和元数据
- 构建 PDF 报告生成器
快速开始
在以下情况下调用此技能:
- 根据代码或数据生成 PDF
- 从 PDF 文件中提取内容
- 合并、拆分或处理 PDF
- 填写或创建 PDF 表单
- 将 HTML/网页转换为 PDF
请勿在以下情况下调用:
- 创建 Word 文档 → 使用
/docx-skill - Excel/电子表格工作 → 使用
/xlsx-skill - 创建 PowerPoint → 使用
/pptx-skill - 常规文件操作 → 使用 Bash 或文件工具
决策框架
PDF Operation?
├── Generate from scratch
│ ├── Simple → PDFKit (Node) / ReportLab (Python)
│ └── Complex layouts → Puppeteer/Playwright + HTML
├── Parse/Extract
│ ├── Text extraction → pdf-parse / PyPDF2
│ └── Table extraction → Camelot / Tabula
├── Manipulate
│ └── pdf-lib (merge, split, edit)
└── Forms
└── pdf-lib (fill) / PDFtk (advanced)
核心工作流
1. 使用 PDFKit 生成 PDF
- 安装 PDFKit(
npm install pdfkit) - 创建新的 PDDocument
- 添加内容(文本、图像、图形)
- 设置字体和颜色样式
- 根据需要添加页面
- 写入文件或响应流
2. 将 HTML 转换为 PDF
- 配置 Puppeteer/Playwright
- 跳转至 HTML 内容或 URL
- 设置页面尺寸和边距
- 设置打印选项(页眉、页脚)
- 生成 PDF 缓冲区
- 保存或传输结果
3. PDF 解析和提取
- 选择解析器(pdf-parse、PyPDF2、pdfplumber)
- 加载 PDF 文件
- 提取文本或结构化数据
- 处理多页文档
- 清理并规范化提取的文本
- 按所需格式输出
最佳实践
- 尽可能使用矢量图形,而非栅格图像
- 嵌入字体以确保渲染一致
- 在不同阅读器中测试 PDF 输出
- 使用流式处理大型 PDF
- 根据任务复杂度选择合适的库
- 考虑无障碍访问(带标签的 PDF)
反模式
| 反模式 | 问题 | 正确做法 |
|---|---|---|
| 仅包含图像的 PDF | 无法搜索/访问 | 使用带字体的文本 |
| 未嵌入字体 | 渲染问题 | 嵌入所需字体 |
| 将大型 PDF 全部加载到内存 | 崩溃 | 使用流式处理 |
| 忽略加密 | 安全/访问问题 | 处理加密 PDF |
| 工具选错 | 过度设计 | 根据复杂度匹配工具 |
评论
支持 Markdown