THotPDF.ImportLoadedInterchangeFromFDF Method

function ImportLoadedInterchangeFromFDF(Source: TStream;
  ApplyFields, ApplyAnnotations: Boolean; out Status: AnsiString;
  out AInfo: THPDFFDFInterchangeInfo): Boolean;

Reads an FDF 1.2 stream and independently applies field values and annotations to the loaded document

Status is returned even when the caller disables field or annotation application

Modern Windows builds import annotation dictionaries and supplied appearance resources through the bounded FDF object-graph codec, retaining shared indirect objects and remapping actual local GoTo page targets

Choice arrays are validated before replacing the target value and selection indices; empty arrays clear the selection, while scalar fields retain the stream API's existing update behaviour

Unknown fields and rejected field updates can raise exceptions; the entire import runs in a nested object graph transaction, so a failed import restores all earlier field values, annotation changes and newly allocated appearance resources

A failed import clears Status and AInfo; a successful import commits only its own transaction, so a caller can still roll it back through an enclosing transaction

Arrays require a multi-select choice field and direct string elements; unresolved FDF references are not interpreted as target PDF object numbers

In modern Windows builds, an actual annotation-bearing transaction also validates authenticated encryption permissions, signed-revision policies and the complete current dirty graph before commit

A policy failure follows the same nested transaction rollback and clears Status and AInfo; this does not introduce a new field-only FDF permission model

Annotation identity and graph transport

A matching nonempty annotation NM on the same page selects an existing annotation for replacement; unnamed or unmatched annotations are appended, and ambiguous matches fail before commit

Fields, annotations and status remain independently selected by the existing parameters; annotation resources join the same nested object-graph transaction, so a failed mixed import restores earlier field and annotation changes together

Action dictionaries are transported as data without executing scripts, following external file references or applying redactions

See FDF annotation behaviour and boundaries and loaded annotation policy