Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug
The FDF files produced by
fdfgen.forge_fdf
are unable to be imported via Adobe Acrobat's FDF import functionality. They are compatible with PDFtk, which indicates the incompatibility lies in a discrepancy between the Adobe and PDFtk parsers. I assume that the Adobe parser is more strict than the PDFtk parser.Causes
The causes were identified by producing identical FDF files via both
fdfgen
and Adobe Acrobat'sExport data
function, and comparing the results inhexl-mode
. They were:UTF-16
instead ofUTF-8
.Fix
Whitespace characters have been removed, and the encoding of field keys has been changed to UTF-8.
Additionally, this PR explicitly spells carriage returns and newlines in hex, as cautioned by Sid Steward in the original
forge_fdf.php
documentation.Testing
This fix has been tested by producing FDF files, comparing them at the hex level with Acrobat-produced FDF files, and successfully filling PDF forms with them. The filling was tested with both Adobe Acrobat and PDFtk. Test FDF files included text fields, checkboxes, and radio button groups.