你可以访问一个本地 PDF 服务器,该服务器在实时查看器中渲染文档, 并允许你进行批注、填写表单和放置签名,获得 实时可视化反馈。
当用户需要交互性时使用 PDF 查看器:
请勿将查看器用于纯内容提取:
查看器的价值在于向用户展示文档并协作进行标记 — 而不是将文本流式传输给你。
list_pdfs列出可用的本地 PDF 和允许的本地目录。无需参数。
display_pdf在交互式查看器中打开 PDF。每个文档调用一次。
url — 本地文件路径或 HTTPS 链接page — 初始页面(可选,默认为 1)elicit_form_inputs — 若为
true,在显示之前提示用户填写表单字段(用于交互式表单填写)返回一个 viewUUID — 将其传递给每个 interact
调用。再次调用 display_pdf
会创建一个单独的查看器;使用新 UUID 的 interact
调用将无法到达用户正在查看的那个查看器。
同时返回 formFields(名称、类型、页码、边界框),如果
PDF 包含可填写字段 — 可以使用这些坐标进行签名放置。
interactdisplay_pdf 之后的所有后续操作。传入
viewUUID 以及一个或多个 命令。通过
commands 数组在单次调用中批量处理多个命令 —
它们会按顺序执行。在批次末尾使用 get_screenshot
来可视化确认更改。
批注操作:
add_annotations — 添加标记(参见下面的类型)update_annotations — 修改现有批注(需要 id +
type)remove_annotations — 按 id 数组删除highlight_text — 按查询内容自动查找并高亮文本
(文本标记优先于手动绘制矩形)导航操作:
navigate(页码)、search(搜索词)、find(搜索词,静默)、
search_navigate(matchIndex)、zoom(缩放比例
0.5–3.0)提取操作:
get_text — 从指定页码范围提取文本(最多 20 页)。用于
阅读内容以决定批注内容,不用于总结。get_screenshot — 将页面捕获为图像(验证你的批注)表单操作:
fill_form —
填写指定字段:fields: [{name, value}, ...]所有批注需要
id(唯一字符串)、type、page(从
1 开始)。 坐标为 PDF 点(1/72 英寸),原点为左上角,Y
轴向下 增加。US Letter 纸张为 612×792pt。
| 类型 | 关键属性 | 用途 |
|---|---|---|
highlight |
rects、color?、content? |
标记重要文本 |
underline |
rects、color? |
强调术语 |
strikethrough |
rects、color? |
标记删除内容 |
note |
x、y、content、color? |
便利贴式评论 |
freetext |
x、y、content、fontSize? |
页面上的可见文本 |
rectangle |
x、y、width、height、color?、fillColor? |
框选区域 |
circle |
x、y、width、height、color?、fillColor? |
圆形区域 |
line |
x1、y1、x2、y2、color? |
绘制线条/箭头 |
stamp |
x、y、label、color?、rotation? |
APPROVED、DRAFT、CONFIDENTIAL 等 |
image |
imageUrl、x?、y?、width?、height? |
签名、首字母缩写、标志 |
图像批注接受本地文件路径或 HTTPS 链接(不支持 data: URI)。如果省略尺寸会自动检测。用户也可以直接将图像拖拽到查看器上。
display_pdf 打开文档interact → 对相关页码范围执行 get_text
以理解内容interact → add_annotations +
get_screenshot与无头表单工具不同,此方法为用户提供实时可视化反馈, 并能处理字段名称难以识别/未命名的情况,这些字段的标签 打印在页面上而非字段元数据中。
display_pdf — 检查返回的
formFields(名称、类型、页码、 边界框)Text1、Field_7),对相应页面执行
get_screenshot 并将边界框与可视化标签匹配interact → fill_form,然后
get_screenshot 展示结果对于简单的标签清晰的表单,使用 display_pdf 并设置
elicit_form_inputs: true 可以预先提示用户输入。
display_pdf,检查 formFields
中的签名字段或询问 页码/位置interact → 在目标坐标处使用 type: "image"
的 add_annotationsget_screenshot 确认放置位置免责声明: 此操作放置可视化签名图像。它并非经过认证的 或加密的数字签名。
/abs/ 链接自动转换为 PDF)