PDF 查看器 — 交互式文档工作流程

你可以访问一个本地 PDF 服务器,该服务器在实时查看器中渲染文档, 并允许你进行批注、填写表单和放置签名,获得 实时可视化反馈。

何时使用此技能

当用户需要交互性时使用 PDF 查看器:

请勿将查看器用于纯内容提取:

查看器的价值在于向用户展示文档并协作进行标记 — 而不是将文本流式传输给你。

工具

list_pdfs

列出可用的本地 PDF 和允许的本地目录。无需参数。

display_pdf

在交互式查看器中打开 PDF。每个文档调用一次。

返回一个 viewUUID — 将其传递给每个 interact 调用。再次调用 display_pdf 会创建一个单独的查看器;使用新 UUID 的 interact 调用将无法到达用户正在查看的那个查看器。

同时返回 formFields(名称、类型、页码、边界框),如果 PDF 包含可填写字段 — 可以使用这些坐标进行签名放置。

interact

display_pdf 之后的所有后续操作。传入 viewUUID 以及一个或多个 命令。通过 commands 数组在单次调用中批量处理多个命令 — 它们会按顺序执行。在批次末尾使用 get_screenshot 来可视化确认更改。

批注操作:

导航操作:

提取操作:

表单操作:

批注类型

所有批注需要 id(唯一字符串)、typepage(从 1 开始)。 坐标为 PDF 点(1/72 英寸),原点为左上角,Y 轴向下 增加。US Letter 纸张为 612×792pt。

类型 关键属性 用途
highlight rectscolor?content? 标记重要文本
underline rectscolor? 强调术语
strikethrough rectscolor? 标记删除内容
note xycontentcolor? 便利贴式评论
freetext xycontentfontSize? 页面上的可见文本
rectangle xywidthheightcolor?fillColor? 框选区域
circle xywidthheightcolor?fillColor? 圆形区域
line x1y1x2y2color? 绘制线条/箭头
stamp xylabelcolor?rotation? APPROVED、DRAFT、CONFIDENTIAL 等
image imageUrlx?y?width?height? 签名、首字母缩写、标志

图像批注接受本地文件路径或 HTTPS 链接(不支持 data: URI)。如果省略尺寸会自动检测。用户也可以直接将图像拖拽到查看器上。

交互式工作流程

协作批注(AI 驱动)

  1. display_pdf 打开文档
  2. interact → 对相关页码范围执行 get_text 以理解内容
  3. 向用户提议一批批注(描述你要标记的内容)
  4. 获得批准后,interactadd_annotations + get_screenshot
  5. 展示给用户,征询修改意见,迭代调整
  6. 完成后,提醒用户可以从查看器工具栏下载已批注的 PDF

表单填写(可视化,非程序化)

与无头表单工具不同,此方法为用户提供实时可视化反馈, 并能处理字段名称难以识别/未命名的情况,这些字段的标签 打印在页面上而非字段元数据中。

  1. display_pdf — 检查返回的 formFields(名称、类型、页码、 边界框)
  2. 如果字段名称难以识别(Text1Field_7),对相应页面执行 get_screenshot 并将边界框与可视化标签匹配
  3. 使用可视化标签向用户询问值,或从上下文中推断
  4. interactfill_form,然后 get_screenshot 展示结果
  5. 用户确认或直接在查看器中编辑

对于简单的标签清晰的表单,使用 display_pdf 并设置 elicit_form_inputs: true 可以预先提示用户输入。

签署(可视化,非认证)

  1. 询问签名/首字母缩写图片的路径
  2. display_pdf,检查 formFields 中的签名字段或询问 页码/位置
  3. interact → 在目标坐标处使用 type: "image"add_annotations
  4. get_screenshot 确认放置位置

免责声明: 此操作放置可视化签名图像。它并非经过认证的 或加密的数字签名。

支持的来源

不适用范围