PDF 处理工具箱

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

任何与 PDF 文件相关的任务都用它。包括:读取/提取 PDF 文字与表格、合并多个 PDF、拆分 PDF、旋转页面、加水印、新建 PDF、填写 PDF 表单、加密/解密、提取图片、对扫描件做 OCR 识别。触发词:'.pdf'、'提取文字'、'合并 PDF'、'拆分 PDF'、'转成 PDF'、'扫描件识别'、'加水印'、'加密 PDF'。不要用它处理 Word 或 Excel。中文场景尤其适合:合同合并、发票归档、论文提取表格、扫描文档转可搜索 PDF。

一句话选型结论

按资料字段整理

PDF 处理工具箱是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_24e9cdd5/pdf-toolkit-v2
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_24e9cdd5仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791730894
正文体量4.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
PDF 处理工具箱当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

4.5 KB
模型实际读到的说明书原文,来自技能仓库

PDF 处理指南

本技能用 Python 库 + 命令行工具完成各类 PDF 操作。进阶用法与 JavaScript 库见 references/pdf_reference.py(内含可直接运行示例)。

快速上手

from pypdf import PdfReader, PdfWriter
reader = PdfReader("document.pdf")
print(f"页数: {len(reader.pages)}")
text = ""
for page in reader.pages:
    text += page.extract_text()

Python 库速查

pypdf —— 基础操作

合并:

from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for pdf_file in ["a.pdf", "b.pdf", "c.pdf"]:
    for page in PdfReader(pdf_file).pages:
        writer.add_page(page)
with open("merged.pdf", "wb") as f:
    writer.write(f)

拆分(每页一个文件):

reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages):
    w = PdfWriter(); w.add_page(page)
    with open(f"page_{i+1}.pdf", "wb") as f:
        w.write(f)

旋转页面:

page = reader.pages[0]
page.rotate(90)  # 顺时针 90 度
writer.add_page(page)

提取元数据:

meta = reader.metadata
print(meta.title, meta.author, meta.subject)

pdfplumber —— 文字与表格提取

import pdfplumber
with pdfplumber.open("document.pdf") as pdf:
    for i, page in enumerate(pdf.pages):
        print(page.extract_text())
        for t in page.extract_tables():
            for row in t:
                print(row)

reportlab —— 新建 PDF

基础(画布):

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
c = canvas.Canvas("hello.pdf", pagesize=letter)
c.drawString(100, 750, "你好,PDF")
c.line(100, 740, 400, 740)
c.save()

多页 + 段落流:

from reportlab.platypus import SimpleDocTemplate, Paragraph, Spacer, PageBreak
from reportlab.lib.styles import getSampleStyleSheet
doc = SimpleDocTemplate("report.pdf", pagesize=letter)
styles = getSampleStyleSheet(); story = []
story.append(Paragraph("报告标题", styles['Title']))
story.append(Paragraph("正文内容 " * 20, styles['Normal']))
story.append(PageBreak())
story.append(Paragraph("第二页", styles['Heading1']))
doc.build(story)

> 上标/下标坑:reportlab 内置字体不含 Unicode 上下标字形(₀₁²³…),会渲染成黑块。改用 XML 标签:<sub>2</sub>(下标)、<super>2</super>(上标)。

命令行工具

任务 工具 命令
提取文字 pdftotext(poppler) pdftotext -layout in.pdf out.txt
合并 qpdf qpdf --empty --pages a.pdf b.pdf -- merged.pdf
拆分 qpdf qpdf in.pdf --pages . 1-5 -- p1-5.pdf
旋转 qpdf qpdf in.pdf out.pdf --rotate=+90:1
解密 qpdf qpdf --password=PASS --decrypt enc.pdf dec.pdf
提取图片 pdfimages(poppler) pdfimages -j in.pdf prefix

常见任务

扫描件 OCR(需 pytesseract + pdf2image):

import pytesseract
from pdf2image import convert_from_path
text = ""
for i, img in enumerate(convert_from_path('scanned.pdf')):
    text += f"第{i+1}页:\n" + pytesseract.image_to_string(img) + "\n\n"

加水印:

wm = PdfReader("watermark.pdf").pages[0]
for page in PdfReader("doc.pdf").pages:
    page.merge_page(wm)
    writer.add_page(page)

加密:

writer.encrypt("user_pass", "owner_pass")

速查表

任务 最佳工具
合并 pypdf / qpdf
拆分 pypdf / qpdf
提取文字 pdfplumber
提取表格 pdfplumber
新建 reportlab
OCR 扫描件 pytesseract
填表单 pypdf(详见 references/pdf_reference.py 注释)

依赖

pypdf · pdfplumber · reportlab(本技能环境已预装)· 可选:poppler-utils(pdftotext/pdfimages) · 可选:qpdf · 可选 OCR:pytesseract + pdf2image(需系统 Tesseract)。

常见问题

5 问
答案由本站依据条目字段整理
PDF 处理工具箱怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_24e9cdd5/pdf-toolkit-v2。安装方式为未标注。装完刷新技能列表或重开客户端。

PDF 处理工具箱支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

PDF 处理工具箱权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

PDF 处理工具箱收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

PDF 处理工具箱用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。