效率与协作

PDF 表单文本替换技能

在可填写 PDF 表单的字段值中查找并替换文本,全程本地运行,无需上传云端。

49/ 100
谨慎使用

价值存在,但可靠性、证据或控制措施仍有明显缺口。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 452
最近更新
9 个月前
License
Apache-2.0
pdf-formstext-replacementpypdffillable-forms
+2python-scriptlocal-execution

这个 Skill 能做什么,适合哪些场景?

pdf-text-replace 是开源仓库 instavm/open-skills(OpenSkills)中的一个技能,用于更新可填写 PDF 表单的字段值。它运行一个 Python 脚本,扫描 PDF 中的所有表单字段,找到包含指定搜索文本的字段并替换为新文本,输出一个新的 PDF 并保留全部表单结构。该技能依赖 pypdf 库和 Python 3.7+,且要求 PDF 未被扁平化。它通过 OpenSkills 的本地沙箱容器执行,数据不出本机。仓库整体以 Apache 2.0 许可证发布。

读取输入 PDF,遍历全部可填写表单字段;对字段值中出现的搜索文本(默认区分大小写)进行替换;将更新后的内容写入新的输出 PDF,且不扁平化表单;运行结束时报告被修改的字段数量,并在输入文件不存在、PDF 无表单字段、搜索文本未找到或输出路径不可写时报错。

适合
  • HR 或行政人员需要修改已填写税表中的姓名(例如把 'MANISH KUMAR' 改为 'MANNU KUMAR')。
  • 需要批量更新多份 PDF 表单中的地址、日期或参考编号的办公人员。
  • 处理敏感财务表单、不希望文件上传云端的用户,可在本地沙箱中完成替换。
  • 需要在 Claude Desktop、Gemini CLI、OpenCode 等 MCP 兼容工具中调用 PDF 表单编辑能力的用户。

如何安装这个 Skill?

使用前请注意
  • 本评审为静态源码阅读,未执行脚本,所有行为声明均未经独立验证。
  • 示例命令使用容器内部路径 /app/uploads,脱离该容器环境运行时需自行替换为本地路径。
  • 技能直接覆写PDF表单字段值且无预览/确认机制,建议在副本上操作并自行核对输出;输出路径若已存在同名文件将被覆盖,无回滚保障。
  • 搜索区分大小写且仅作用于表单字段值,对扫描件或扁平化PDF无效;依赖pypdf版本行为,加密PDF路径未处理。
  • 发布者身份未经FollowSkills企业注册表验证;仓库README称macOS/Apple容器沙箱,而技能路径为Docker风格路径,部署环境差异需注意。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • Python 3.7+
  • pypdf

该技能随 open-skills 集合安装:克隆仓库并运行安装脚本(要求 Apple Silicon Mac、Python 3.10+):git clone https://github.com/BandarLabs/open-skills.git && cd open-skills && chmod +x install.sh && ./install.sh。安装约 2 分钟,MCP 服务器位于 http://open-skills.local:8222/mcp。技能文件位于仓库的 skills/public/pdf-text-replace/(用户侧目录结构为 ~/.open-skills/assets/skills/)。仓库未单独说明此技能的独立安装步骤。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/instavm/open-skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/public/pdf-text-replace" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

通过任一 MCP 兼容客户端(Claude Desktop、Gemini CLI、OpenCode、Qwen CLI 等)调用,或直接运行脚本:python scripts/replace_text_in_pdf.py input.pdf "旧文本" "新文本" output.pdf。四个位置参数依次为:输入 PDF、搜索文本、替换文本、输出 PDF。注意脚本内的 /app/uploads/ 路径是沙箱容器内的路径,对应宿主机的 ~/.open-skills/assets/outputs/。

这个 Skill 有哪些优点和局限?

优点
  • 完全本地执行,敏感表单数据不出本机
  • 输出保留全部表单字段,不做扁平化,字段仍可编辑
  • 脚本逻辑简单,仅依赖 pypdf,易于审计和修改
  • 支持批量更新多个字段值,并提供明确的错误报告
局限
  • 只适用于有可填写表单字段的 PDF,无法处理扫描件或图片 PDF
  • 只能替换字段值,不能修改静态正文文本
  • 搜索默认区分大小写,未提供忽略大小写的选项
  • 宿主机直接运行的 Python 版本要求(仓库整体要求 3.10+)与技能标注的 3.7+ 之间以仓库要求为准
  • 仓库未提供针对该脚本的测试套件或独立文档页面

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
PDF 表单文本替换技能 本页 49 · 谨慎使用 ★ 452 9 个月前 Apache-2.0
Gorden PPT 技能 61 · 推荐 ★ 3.6k 4 个月前 NOASSERTION
Open Cowork PDF 技能 69 · 推荐 ★ 2.2k 12 天前 MIT
DeepTutor PDF 技能 61 · 推荐 ★ 41k 17 天前 Apache-2.0
OpenAI PDF 文档处理技能 ✓ OpenAI · 官方 46 · 谨慎使用 ★ 28k 4 个月前 —

README 将其定位为 Anthropic 官方 Skills 的本地运行替代方案:同样的技能格式,但通过 OpenSkills 在本机沙箱执行,而非依赖 Claude 云端处理;对在意隐私的 PDF 表单处理场景,这是与云端运行 Claude Skills 的主要区别。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
谨慎使用
49/ 100 五分制 2.5 / 5
1信任安全16 / 25 · 3.2/5

脚本仅读写用户指定的PDF文件,无网络、无凭证访问、无隐蔽行为,最小权限原则基本满足,数据流透明。扣分点:无明确的用户确认/预览机制(直接覆写字段值)、无回滚说明、输出覆盖风险未提示、发布者身份未验证。

2可靠稳定9 / 20 · 2.3/5

脚本逻辑自洽:参数校验、输入文件存在性、输出目录检查、表单字段缺失提示、未找到匹配时的反馈都具备,失败路径有可读错误信息并以退出码区分。扣分点:静态评审无法执行验证,仓库无针对该技能的测试用例,未处理非字符串字段值、加密PDF、部分写入失败等边界情况。

3适用触发8 / 15 · 2.7/5

适用场景清晰(可填写PDF表单字段中的文本替换),frontmatter触发描述具体,限制项明确声明(不支持扁平化/扫描件、区分大小写)。扣分点:无中文支持说明;硬编码 /app/uploads 路径绑定特定容器环境,脱离该环境的触发与可用性未说明;触发边界(如整份静态文本替换需求会误触发)未说明。

4规范维护7 / 15 · 2.3/5

结构清晰(SKILL.md + scripts),依赖说明明确(pypdf,见仓库requirements.txt),限制与错误处理章节完整,仓库有Apache-2.0许可。扣分点:技能自身无版本号/变更记录、无FAQ/示例输出、维护责任与更新路径仅在仓库层面间接体现,示例路径为容器内部路径对直接使用者是隐藏假设。

5有效结果6 / 15 · 2.0/5

核心任务(替换可填写PDF表单字段中的文本并保留表单结构)目标明确,输出为直接可用的新PDF并报告修改字段数,相对手动编辑Acrobat有边际价值。扣分点:静态评审无法确认实际输出正确性(如复选框/特殊字段类型的处理),声称'保留所有字段'与'批量更新'均未经执行验证。

6证据核验3 / 10 · 1.5/5

有可审计的一手材料:完整脚本源码、SKILL.md、依赖清单,声明与实现基本可对照。扣分点:无测试、无CI测试覆盖该技能、无独立执行证据或第三方佐证,'修改N个字段'等行为声明只能靠阅读推断,故仅给低分(静态上限内取偏低值)。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年9月10日 审查版本 6480335953c3 评估证据[1][2][3][4][5][6]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

数据会被上传到云端吗?
不会。该技能通过 OpenSkills 在本机 Apple Silicon 沙箱容器中执行,README 明确说明无需上传、完全隐私。
它可以修改扫描版 PDF 吗?
不能。它只作用于可填写的表单字段值,对扫描/图像 PDF 或已扁平化的 PDF 无效。
需要哪些依赖?
技能本身需要 Python 3.7+ 和 pypdf 库(容器环境中已包含);若安装整个 open-skills 集合,仓库要求 macOS Apple Silicon 和 Python 3.10+。
替换失败时会怎样?
脚本会报告具体错误:输入文件不存在、PDF 无表单字段、搜索文本未找到或输出路径不可写,不会静默失败。

同仓库的其他 Skills

均来自 instavm/open-skills

相关 Skills