PDF文档处理技能Skill pdf-skill

PDF文档处理技能是专注于程序化生成、解析、提取、合并、拆分和操作PDF文档的专业能力。核心功能包括使用PDFKit、Puppeteer等工具生成PDF报告,通过pdf-parse、PyPDF2提取文本数据,利用pdf-lib进行文档合并与表单填写,以及实现HTML到PDF的高质量转换。适用于自动化报表生成、文档数据处理、批量表单处理等场景。关键词:PDF生成、PDF解析、PDF提取、PDF合并、PDF表单、HTML转PDF、PDFKit、Puppeteer、PDF操作。

后端开发 0 次安装 38 次浏览 更新于 2/23/2026

name: pdf-skill description: 使用PDFKit、PDF.js和Puppeteer等工具生成、解析和操作PDF文档的专家。适用于创建PDF、提取内容、合并文档或填写表单。触发词包括“PDF”、“生成PDF”、“解析PDF”、“提取PDF”、“合并PDF”、“PDF表单”、“PDFKit”。

PDF技能

目的

提供程序化PDF生成、解析和操作的专业知识。专长于使用PDFKit、PDF.js、Puppeteer及类似工具从头创建PDF、提取内容、合并/拆分文档以及处理表单。

使用场景

  • 程序化生成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操作?
├── 从头生成
│   ├── 简单 → PDFKit (Node) / ReportLab (Python)
│   └── 复杂布局 → Puppeteer/Playwright + HTML
├── 解析/提取
│   ├── 文本提取 → pdf-parse / PyPDF2
│   └── 表格提取 → Camelot / Tabula
├── 操作
│   └── pdf-lib (合并、拆分、编辑)
└── 表单
    └── pdf-lib (填写) / PDFtk (高级)

核心工作流

1. 使用PDFKit生成PDF

  1. 安装PDFKit (npm install pdfkit)
  2. 创建新的PDDocument
  3. 添加内容(文本、图像、图形)
  4. 使用字体和颜色进行样式设置
  5. 根据需要添加页面
  6. 输出到文件或响应流

2. HTML转PDF转换

  1. 设置Puppeteer/Playwright
  2. 导航到HTML内容或URL
  3. 配置页面大小和边距
  4. 设置打印选项(页眉、页脚)
  5. 生成PDF缓冲区
  6. 保存或流式传输结果

3. PDF解析与提取

  1. 选择解析器(pdf-parse、PyPDF2、pdfplumber)
  2. 加载PDF文件
  3. 提取文本或结构化数据
  4. 处理多页文档
  5. 清理和规范化提取的文本
  6. 以所需格式输出

最佳实践

  • 尽可能使用矢量图形而非位图
  • 嵌入字体以确保渲染一致性
  • 在不同阅读器中测试PDF输出
  • 使用流式处理处理大型PDF
  • 根据任务复杂度选择合适的库
  • 考虑可访问性(标记PDF)

反模式

反模式 问题 正确方法
仅图像的PDF 不可搜索/不可访问 使用带字体的文本
不嵌入字体 渲染问题 嵌入所需字体
内存加载大型PDF 崩溃 流式处理
忽略加密 安全/访问问题 处理加密PDF
工具选择不当 过度工程化 根据复杂度匹配工具