Some test text!
Web / Guides
Make sure you have Full API enabled in WebViewer.
Depending on the type and origin of the XFDF or FDF, one of the following methods should be used:
MergeXFDF
API is the recommended solution for command XFDF filesSee below, which API is best suited to the given use case.
This is a 2-step process: first XFDF needs to be converted into FDF, then FDF needs to be passed to FDFUpdate
API. As a result of the import operation, the PDF document will have all annotations from XFDF and no other:
FDFUpdate
API works best for the scenarios like restoring annotations from a backup. Also it would be a good option when bringing in annotations creating in WebViewer, i.e. use FDFUpdate
to import XFDF written by WebViewer.
// Import annotations from XFDF to FDF
const fdf_doc = await PDFNet.FDFDoc.createFromXFDF(xfdf_filename);
// Optionally read XFDF from a string
const fdf_doc = await PDFNet.FDFDoc.createFromXFDF(xfdf_string);
// Merge FDF data into PDF doc
const doc = await PDFNet.PDFDoc.createFromURL(filename);
await doc.fdfUpdate(fdf_doc);
This is a 2-step process: first XFDF needs to be converted into FDF, then FDF needs to be passed to FDFMerge
API. As a result of the import operation, all the XFDF annotations will be added to the PDF document:
FDFMerge
API works best for bringing new annotations into a document from a partial XFDF and for adding annotations to an empty PDF document.
// Import annotations from XFDF to FDF
async function main() {
const fdf_doc = await PDFNet.FDFDoc.createFromXFDF(xfdf_filename);
// Optionally read XFDF from a string
const fdf_doc = await PDFNet.FDFDoc.createFromXFDF(xfdf_string);
// Merge FDF data into PDF doc
const doc = await PDFNet.PDFDoc.createFromURL(filename);
await doc.fdfMerge(fdf_doc);
}
PDFNet.runWithCleanup(main);
This is a 1-step process: XFDF is passed directly to MergeXFDF
API. The API can both add and modify the annotations, but not delete them (except when using a command file). :
MergeXFDF
is also the API that should be used with command files (a flavor of XFDF with add-delete-modify instructions, see GetAnnotCommand
() or AnnotationManager.exportAnnotCommand
in WebViewer). In case of command XFDF, all operations specified by the command file, including deletions will be performed on the document.
// Merge FDF data into PDF doc
const doc = await PDFNet.PDFDoc.createFromURL(filename);
await doc.mergeXFDF(xfdf_filename);
// Optionally read XFDF from a string
await doc.mergeXFDF(xfdf_string);
Use case | API |
---|---|
Restoring annotations from backup | FDFUpdate |
Importing all changes made to annotations in WebViewer | FDFUpdate |
Importing form data exported from other PDF solutions | FDFMerge or MergeXFDF |
Introducing several new annotations to a document while keeping the existing document's annotations | FDFMerge or MergeXFDF |
Importing partial XFDF that contains modifications to annotations that already exist in the document (assuming XFDF annotations are named) | MergeXFDF |
Importing command xfdf file, which allows fast application of annotation changes made on another WebViewer or Apryse SDK instance. | MergeXFDF |
PDF Form fill and form data extraction
Full sample code which illustrates basic FDF merge/extract functionality and full support for FDF (Forms Data Format)
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales