XFDF is an XML-like standard from Adobe XFDF (ISO 19444-1:2016) for encoding annotations and forms (see this XFDF overview). It is compatible with Adobe Acrobat and several other third-party frameworks.
ℹ️ Note: XFDF has various limitations. In most cases, using PSPDFKit Instant will result in a smaller file and better synchronization.
Below is a simple example showing how to import XFDF from a file. However, the
IDataProvider can be inherited from in order to implement custom readers for encryption:
Exporting to XFDF
You can export annotations and form fields from a document to an XFDF file like so:
1 2 3
const string filename = "xfdfOutput.xfdf"; File.Create(filename); document.ExportXfdf(new FileDataProvider(filename), new List<int>(), new List<string>());
The second two parameters take in
Lists. The first states which annotations to export, and the second states which form field to export. By passing an empty
List, PSPDFKit assumes that all annotations or form fields should be exported.
Much like the import XFDF, with export XFDF it is also possible to inherit from
IWritableDataProvider to implement custom writers for encryption.
Exporting Annotations to XFDF via Adobe Acrobat
Adobe Acrobat can export annotations into XFDF. The export menu is part of the Comments tool and is accessed by opening the tool in the sidebar.
You can access the export function by clicking on the three dots and then choosing Export All To Data File.
- At the bottom of the page, choose Acrobat XFDF Files.
- Select the directory you wish to save the XFDF file to and name the file.
- Click save.
A successful export will result in a file with an
Importing Annotations to XFDF via Adobe Acrobat
The export function is part of the Comments tool and is accessed by clicking on its icon.
Click on the three dots to open the import menu, and then click on Import Data File.
.xfdf file you wish to import and click Select.
The import function completes with the annotations being placed on the document.
Adobe Acrobat Error Conditions
|Damaged/missing document body|
|Damaged/missing description tag|
|Missing document flag|