Fill XFA PDF Forms
/install fill-xfa
Fill XFA PDF Forms
Fill any Adobe LiveCycle XFA form from the CLI. Solves a gap that standard PDF tools cannot address.
Why This Exists
XFA forms (Form: XFA in pdfinfo) embed data as XML inside the PDF, not as standard AcroForm fields. Tools like pdftk, pypdf, and PyPDF2 silently fail or produce empty output. This script modifies the embedded XFA XML directly.
Prerequisites
pip install pikepdf
Quick Start
SCRIPT="\x3Cskill_dir>/scripts/fill_xfa.py"
# 1) Verify the form is XFA:
pdfinfo form.pdf | grep Form # Should show: Form: XFA
# 2) Discover field names:
python3 "$SCRIPT" fields form.pdf
# 3) Fill from JSON:
python3 "$SCRIPT" fill form.pdf -o filled.pdf -d data.json
Commands
fields — List Data Fields
python3 "$SCRIPT" fields form.pdf
Outputs sorted field names with current values and duplicate counts.
fill — Set Field Values
Three input methods — combine freely:
# Repeatable --set flags:
python3 "$SCRIPT" fill form.pdf -o out.pdf \
--set "Eigentümer_Name=Müller" \
--set "Eigentümer_Vorname=Anna" \
--set "PLZ=84424"
# JSON file:
python3 "$SCRIPT" fill form.pdf -o out.pdf -d fields.json
# Stdin pipe:
printf '{"Name":"Müller","Vorname":"Anna"}' | \
python3 "$SCRIPT" fill form.pdf -o out.pdf --stdin
JSON Data Format
{
"Feldname": "Wert",
"Eigentümer_Name": "Müller",
"Datum": "2026-05-05"
}
Field names must match the XML element names in the form (discover with fields).
Duplicate Fields
Some forms reuse field names (e.g., multiple Textfeld1). Two modes:
- Same value everywhere:
--set Textfeld1=3sets all occurrences to "3" - Different values per occurrence: Pass an array:
{"Textfeld1": ["A", "B", "C"]}distributes values across duplicates (first field gets "A", second gets "B", etc.)
Limitations
- Only works with XFA forms — verify first:
pdfinfo form.pdf | grep Form - Form must not be password-protected
- Namespace restoration preserves only the first
xmlns:*declaration (rarely matters) - Some forms require manual wet-ink signature after filling
Common Use Cases
- Government registration forms (German: Behördendrucke, Landkreis forms)
- Utility company forms (waste collection, water/electricity)
- School enrollment applications
- Any Adobe LiveCycle Designer form downloaded from official websites
Example: German Waste Bin Registration
# Discover fields:
python3 "$SCRIPT" fields tonnenanmeldung_blank.pdf
# Fill from JSON (pipe to stdin):
python3 "$SCRIPT" fill tonnenanmeldung_blank.pdf -o tonnenanmeldung_filled.pdf --stdin \x3C\x3C'EOF'
{
"Neuantrag": "1",
"Eigentümer_Name": "Müller",
"Eigentümer_Vorname": "Anna",
"Eigentümer_Straße": "Hauptstraße",
"Eigentümer_Straße_Nummer": "5",
"Eigentümer_PLZ": "84424",
"Eigentümer_Ort": "Isen",
"Eigentümer_seit": "2026-01-15",
"Grundstück_Straße": "Beispielweg",
"Grundstück_PLZ": "85435",
"Grundstück_Ort": "Erding",
"Grundstück_Haus_Nummer": "12",
"Textfeld1": "3",
"Restmüll_ab": "07/2026",
"Zugang_80_l": "1",
"Bio_Zugang_80_l": "1",
"Papier_Zugang_240_l": "1",
"Kontoinhaber_Name": "Müller, Anna",
"Kontoinhaber_Straße": "Hauptstraße 5",
"Kontoinhaber_Ort": "84424 Isen",
"Kontoinhaber_Kreditinstitut": "VR-Bank",
"Kontoinhaber_IBAN": "DE",
"Kontoinhaber_IBAN_Nummer": "1234567890",
"Kontoinhaber_BIC": "GENODEF1XXX",
"Datum": "2026-05-05"
}
EOF
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install fill-xfa - After installation, invoke the skill by name or use
/fill-xfa - Provide required inputs per the skill's parameter spec and get structured output
What is Fill XFA PDF Forms?
Fill XFA (Adobe LiveCycle) PDF forms programmatically. Use when working with .pdf files that have Form: XFA (check with pdfinfo). Standard tools like pdftk,... It is an AI Agent Skill for Claude Code / OpenClaw, with 30 downloads so far.
How do I install Fill XFA PDF Forms?
Run "/install fill-xfa" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Fill XFA PDF Forms free?
Yes, Fill XFA PDF Forms is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Fill XFA PDF Forms support?
Fill XFA PDF Forms is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Fill XFA PDF Forms?
It is built and maintained by kiagentkronos-cell (@kiagentkronos-cell); the current version is v1.0.0.