[ PROMPT_NODE_25666 ]
PDF Processing 表单
[ SKILL_DOCUMENTATION ]
**关键:你必须按顺序完成这些步骤。不要直接跳到编写代码。**
如果你需要填写 PDF 表单,首先检查 PDF 是否包含可填写的表单域。从该文件目录运行此脚本:
`python scripts/check_fillable_fields `,根据结果前往“可填写域”或“不可填写域”并遵循相应说明。
# 可填写域
如果 PDF 包含可填写的表单域:
- 从该文件目录运行此脚本:`python scripts/extract_form_field_info.py `。它将创建一个包含域列表的 JSON 文件,格式如下:
[
{
"field_id": (域的唯一 ID),
"page": (页码,从 1 开始),
"rect": ([左, 底, 右, 顶] PDF 坐标系中的边界框,y=0 为页面底部),
"type": ("text", "checkbox", "radio_group", 或 "choice"),
},
// 复选框具有 "checked_value" 和 "unchecked_value" 属性:
{
"field_id": (域的唯一 ID),
"page": (页码,从 1 开始),
"type": "checkbox",
"checked_value": (设置为此值以勾选复选框),
"unchecked_value": (设置为此值以取消勾选复选框),
},
// 单选组具有包含可选值的 "radio_options" 列表。
{
"field_id": (域的唯一 ID),
"page": (页码,从 1 开始),
"type": "radio_group",
"radio_options": [
{
"value": (设置为此值以选择该单选选项),
"rect": (该选项单选按钮的边界框)
},
// 其他单选选项
]
},
// 多选域具有包含可选值的 "choice_options" 列表:
{
"field_id": (域的唯一 ID),
"page": (页码,从 1 开始),
"type": "choice",
"choice_options": [
{
"value": (设置为此值以选择该选项),
"text": (选项的显示文本)
},
// 其他选项
],
}
]
- 使用此脚本将 PDF 转换为 PNG(每页一张图片)(从该文件目录运行):
`python scripts/convert_pdf_to_images.py `
然后分析图片以确定每个表单域的用途(确保将 PDF 边界框坐标转换为图像坐标)。
- 创建一个 `field_values.json` 文件,格式如下,包含每个域要输入的值:
[
{
"field_id": "last_name", // 必须匹配