# Fillable PDF translation fixture

This directory contains a synthetic English AcroForm and a Spanish counterpart created for the article “How to Translate a Fillable PDF Form Without Breaking Its Fields.” It is not a BookTranslator output and does not claim that any translation product preserves arbitrary form objects.

The PDFs have the same eight machine-facing field names, field types, required/read-only flags, insertion/tab order, choice and radio export values, calculation script, and synthetic submit action. Their page labels, tooltips, radio labels, dropdown labels, and button caption are localized. The audit deliberately separates human-facing language from identifiers and values a downstream system may consume.

Files:

- `source-fillable-form.pdf`: English synthetic source.
- `translated-fillable-form.pdf`: Spanish synthetic counterpart.
- `form-field-audit.csv`: source-to-target structural inventory.
- `fixture-manifest.json`: hashes, library versions, and generated checks.
- `generate_fixture.py`: deterministic generator and auditor.

Regenerate with the Python runtime used by the repository automation and then inspect the PDFs in each required viewer. The submit action points to the reserved, non-resolving `example.invalid` domain so the fixture cannot contact a production service. The script proves only the checks named in `fixture-manifest.json`; it does not test arbitrary JavaScript, signatures, live submission endpoints, accessibility trees, or viewer compatibility.
