关于 PDF Form Filler
PDF Form Filler 是用于自动填写和提取 PDF 表单数据的技能,支持批量处理、数据验证和模板映射。它提供操作指导,但不能实际执行表单填写。
主要功能
- 01填写文本、复选框和选项字段
- 02提取已填表单数据
- 03批量填充多个表单
- 04验证表单数据
- 05创建字段映射模板
适用场景
- 01根据数据填写 PDF 表单
- 02从完成的表单提取字段值
- 03用 CSV 或电子表格批量生成表单
- 04填写前检查数据格式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ claude-office-skills/ skills --skill pdf-form-filler安装后在 Claude Code 中输入/pdf-form-filler确认已加载。
详细介绍
PDF 表单填写器
自动填写 PDF 表单,并从已完成的表单中提取数据。
概述
此技能可帮助你:
- 使用提供的数据填写 PDF 表单
- 从已填写的表单中提取数据
- 批量填写多个表单
- 验证表单数据
- 创建表单填写模板
使用方法
填写表单
"Fill this PDF form with the following data:
- Name: John Smith
- Date: 2026-01-29
- Amount: $1,500"
提取表单数据
"Extract all form field values from this PDF"
"What data is filled in this form?"
批量填写
"Fill 50 copies of this form using data from the spreadsheet"
"Generate forms for each row in this CSV"
表单字段类型
支持的字段
| 字段类型 | 描述 | 填写方法 |
|---|---|---|
| 文本字段 | 单行/多行文本 | 直接输入文本 |
| 复选框 | 是/否选择 | 勾选/取消勾选 |
| 单选按钮 | 多个选项中选一个 | 选择选项 |
| 下拉菜单 | 列表选择 | 选择值 |
| 日期字段 | 日期选择器 | 日期值 |
| 签名 | 数字签名 | 签名图像/证书 |
| 组合框 | 可输入文本的下拉菜单 | 选择或输入 |
字段识别
## Form Fields: [Form Name]
### Field Map
| Field Name | Type | Required | Page | Notes |
|------------|------|----------|------|-------|
| applicant_name | Text | Yes | 1 | Max 50 chars |
| birth_date | Date | Yes | 1 | MM/DD/YYYY |
| gender | Radio | Yes | 1 | M/F/Other |
| employed | Checkbox | No | 1 | Check if yes |
| state | Dropdown | Yes | 2 | US states |
| signature | Signature | Yes | 3 | Digital sig |
填写模板
数据映射模板
## Form Fill Template: [Form Name]
### Form Info
- **File**: application_form.pdf
- **Total Fields**: 25
- **Required Fields**: 15
### Field Mappings
```yaml
# Personal Information
applicant_name: "${firstName} ${lastName}"
date_of_birth: "${birthDate}"
ssn_last_four: "${ssnLast4}"
phone: "${phone}"
email: "${email}"
# Address
street_address: "${address.street}"
city: "${address.city}"
state: "${address.state}"
zip_code: "${address.zip}"
# Employment
currently_employed: ${isEmployed} # checkbox
employer_name: "${employer.name}"
job_title: "${employer.title}"
# Selections
payment_method: "${paymentMethod}" # dropdown
agree_terms: true # checkbox
示例数据
{
"firstName": "John",
"lastName": "Smith",
"birthDate": "1990-05-15",
"phone": "555-123-4567",
"email": "[email protected]",
"address": {
"street": "123 Main St",
"city": "New York",
"state": "NY",
"zip": "10001"
},
"isEmployed": true,
"employer": {
"name": "Acme Corp",
"title": "Manager"
},
"paymentMethod": "Direct Deposit"
}
## Output Formats
### Fill Result Report
```markdown
## Form Fill Result
### Summary
| Status | Value |
|--------|-------|
| **Form** | application_form.pdf |
| **Fields Filled** | 23/25 |
| **Errors** | 2 |
| **Output** | filled_application.pdf |
### Filled Fields
| Field | Value | Status |
|-------|-------|--------|
| applicant_name | John Smith | ✅ |
| date_of_birth | 05/15/1990 | ✅ |
| phone | 555-123-4567 | ✅ |
| state | NY | ✅ |
| payment_method | Direct Deposit | ✅ |
### Errors/Warnings
| Field | Issue | Suggestion |
|-------|-------|------------|
| ssn | Field not found | Check field name |
| signature | Requires certificate | Add signature manually |
### Validation
- ✅ All required fields filled
- ✅ Date formats correct
- ⚠️ Signature field needs manual completion
提取数据报告
## Form Data Extraction
### Source: completed_form.pdf
### Extracted Values
```json
{
"form_title": "Employment Application",
"submission_date": "2026-01-29",
"fields": {
"applicant_name": "Jane Doe",
"date_of_birth": "1985-03-20",
"email": "[email protected]",
"phone": "555-987-6543",
"address": "456 Oak Ave, Chicago, IL 60601",
"position_applied": "Senior Developer",
"salary_expectation": "$120,000",
"available_start": "2026-03-01",
"references_provided": true
}
}
字段统计
| 指标 | 值 |
|---|---|
| 字段总数 | 30 |
| 已填写字段 | 28 |
| 空字段 | 2 |
| 提取置信度 | 98% |
## Batch Processing
### Batch Fill Job
```markdown
## Batch Form Fill
### Configuration
- **Template Form**: w9_form.pdf
- **Data Source**: vendors.csv
- **Records**: 150
- **Output Folder**: /filled_w9s/
### Data Preview
| Row | Name | TIN | Address |
|-----|------|-----|---------|
| 1 | Acme Corp | XX-XXX1234 | 123 Main St |
| 2 | Beta LLC | XX-XXX5678 | 456 Oak Ave |
| ... | ... | ... | ... |
### Progress
| Status | Count | % |
|--------|-------|---|
| ✅ Completed | 145 | 97% |
| ⚠️ Warnings | 3 | 2% |
| ❌ Errors | 2 | 1% |
### Errors
| Row | Issue |
|-----|-------|
| 47 | Invalid TIN format |
| 89 | Missing required: Address |
### Output Files
- w9_acme_corp.pdf
- w9_beta_llc.pdf
- ...
表单验证
验证规则
## Form Validation Rules
### Field Validations
| Field | Rule | Error Message |
|-------|------|---------------|
| email | Valid email format | "Invalid email address" |
| phone | 10 digits | "Phone must be 10 digits" |
| ssn | XXX-XX-XXXX format | "Invalid SSN format" |
| date | MM/DD/YYYY | "Use MM/DD/YYYY format" |
| zip | 5 or 9 digits | "Invalid ZIP code" |
| amount | Numeric, > 0 | "Enter positive number" |
### Cross-Field Validations
| Rule | Fields | Condition |
|------|--------|-----------|
| Conditional required | employer_name | Required if employed = true |
| Date range | end_date | Must be after start_date |
| Sum check | item_totals | Must equal grand_total |
验证报告
## Pre-Fill Validation
### Data Validation Results
| Field | Value | Valid | Issue |
|-------|-------|-------|-------|
| email | john@email | ❌ | Missing domain |
| phone | 555-1234 | ❌ | Only 7 digits |
| date | 2026-01-29 | ✅ | - |
| zip | 10001 | ✅ | - |
### Summary
- ✅ Valid: 18 fields
- ❌ Invalid: 2 fields
- ⚠️ Warnings: 3 fields
### Recommendations
1. Fix email format: add domain (e.g., @company.com)
2. Complete phone number with area code
常见表单类型
政府表单
| 表单 | 用途 | 关键字段 |
|---|---|---|
| W-9 | 纳税人身份识别 | TIN、姓名、地址 |
| I-9 | 就业资格 | 身份证件信息、公民身份 |
| W-4 | 预扣税 | 扣除额、身份 |
| 1099 | 承包商收入 | 收入、付款方信息 |
商业表单
| 表单 | 用途 | 关键字段 |
|---|---|---|
| NDA | 保密 | 当事方、条款、日期 |
| 发票 | 账单 | 项目、金额、条款 |
| PO | 采购订单 | 项目、数量、供应商 |
| 申请表 | 多种用途 | 个人信息、经历 |
工具推荐
桌面软件
- Adobe Acrobat Pro:全面的表单功能
- Foxit PDF Editor:良好的表单支持
- PDFescape:免费的在线选项
- JotForm:表单创建与填写
编程库
- pdf-lib(JavaScript):填写和创建表单
- PyPDF2(Python):基本表单填写
- iText(Java/.NET):企业级表单
- PDFBox(Java):Apache 项目
自动化工具
- Adobe Acrobat Actions:批量处理
- Power Automate:Microsoft 集成
- Zapier + PDF.co:云端自动化
限制
- 无法实际执行表单填写(仅提供指导)
- 数字签名需要有效证书
- 某些受保护的 PDF 会阻止填写表单
- 复杂计算可能不会自动更新
- 扁平化表单无法编辑
- 字段名称必须完全匹配
评论
支持 Markdown