pdf 把常见 PDF 操作组织成几条路线:提取文字与表格、合并拆分页面、创建文件,以及填写表单。开始前先判断输入属于可选择文字的文档、扫描图片,还是带交互字段的表单。文件扩展名一样,不代表可以采用同一种方法;扫描件提取为空时,继续重复文字提取并不会产生内容。
安装与调用
在 Claude Code 的聊天输入框依次发送下面两条命令。这是插件命令,不是在系统终端运行的 Shell 命令;第二条安装的是包含 pdf 的官方技能包。
/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
安装后,在同一项目的会话里明确说“使用 pdf”,再提供文件或任务。下面的提示词是可修改的首次输入示例。安装会加入技能说明与资源;它不会替你准备输入资料,也不代表所有依赖已经在本机安装。若找不到技能,先检查插件是否安装并启用,以及会话是否已加载最新插件,再继续任务。
首次任务先限制页码与输出
使用 pdf 处理 report.pdf 的第 3 至 8 页。
先判断这些页是否有文字层,再提取费用表,保留列标题、币种和原页码。
把表格保存为 CSV,把无法确定的单元格单独列出。
同时导出这六页为 excerpt.pdf,不修改原文件。
给出页码、要找的字段和输出格式,比“分析整份 PDF”更容易检查。文字型文档可用 pypdf 或 pdfplumber;表格提取后仍要核对跨页表头、合并单元格和空白行。扫描件则需要先转图,再用 OCR 识别。图片上的数字与小数点容易混淆,重要字段应回到原页对照。
合并或拆分时,把页码按人看到的第一页开始描述,并让 Agent 复述所选范围,避免与程序中的零起始索引混淆。交付时检查页数、顺序和方向,确认书面要求中的“第 3 至 8 页”没有少一页或重复一页。加水印、旋转和加密也是这个技能覆盖的操作,但应作为明确任务提出。
填表需要先分两种情况
可以另开一个任务:“使用 pdf 填写 application.pdf;先列出字段与我提供的信息的对应关系,缺失值留空。”有可填写字段时,先提取字段 ID、页码和控件类型,再写入字段值。复选框和单选框通常有自己的内部选项值,不能假定所有勾选项都使用相同字符串。
没有交互字段的表单,需要读取页面结构或把页面转图,确定文字应放入哪个区域。官方补充指南把结构定位和视觉定位分开处理,并要求检查边界框再填写。PDF 坐标与图像像素坐标不是同一套数字,混用会导致文字整体偏移。填写后重新渲染页面,检查姓名、日期、勾选位置和长文本是否遮住标签。
如果导出的 PDF 出现黑方块,先检查字体和字符覆盖;技能特别提醒 ReportLab 的上下标应使用相应标记,而不是依赖内置字体中不存在的 Unicode 字形。完成标准是输出文件能打开、页面和数据符合任务,并且不确定项被清楚保留下来,不是仅得到一次“保存成功”。
抽取结果要带定位信息
整理一份几十页的年报时,可以让 Agent 输出“指标、数值、单位、页码、原表标题”,而不是只给一列数字。若同一指标在正文、表格和附注中出现,保留上下文再判断采用哪个口径。表格抽取后的行列可能错位,金额也可能把千分位或括号负数读错;先抽查几页复杂页面,再对全文件运行相同方法。这个步骤尤其适合后续要把数据导入表格或引用到文章中的任务。
含中日韩文字时检查接收方阅读器
一份日文 PDF 曾在 Chrome 与 Poppler 正常显示,却在 Windows 版 Acrobat 中只剩拉丁字母和图形,说明“我这里能打开”不等于接收方能读。若交付包含中日韩文字,除逐页渲染外还应在目标阅读器抽查正文、粗体和表格;若字体显示异常,改用兼容的字体或导出路径,并保持文字可搜索,不要直接把整页栅格化当作默认修复。