THPDFWindowsFormDataTransaction.ImportDataWithFamilies
procedure ImportDataWithFamilies(const Bytes: TBytes;
Format: THPDFHeadlessFormDataFormat;
const Families: THPDFHeadlessRichTextFontFamilies;
const AppearanceOptions: THPDFHeadlessTextAppearanceOptions;
const Options: THPDFHeadlessFormDataOptions; const Password: AnsiString);
Prepares one real candidate revision using named font families and the native family-aware rich FDF/XFDF importer; the borrowed original THotPDF stays unchanged until the caller publishes and accepts the candidate
Families and selection
Families contains one to sixteen THPDFHeadlessRichTextFontFamily records, each with FamilyName and four actual TBytes font programs indexed by regular, bold, italic and boldItalic
Labels use ASCII case-insensitive comparison and exact comparison for other Unicode characters; labels must be distinct, non-empty, at most 128 UTF-16 code units, without surrounding whitespace, control characters, unpaired surrogates, quotes, backslashes, commas or semicolons
The first configured family supplies default and scalar text fonts; fill in every family/style actually used by imported rich runs; unused families do not need unused font programs
The bounded XHTML decoder uses the configured labels for CSS font-family lists, picking the first known label or the first configured default when no list entry matches; inherit preserves the inherited family
Supplied arrays are borrowed for this synchronous call; actual generated /V, /RV, Unicode maps and appearance resources are written into owned candidate bytes
Authentication, limits and publication
Existing CMS integrity, ESS binding, DocMDP, FieldMDP and read-only constraints stay enforced; required caller trust and revocation checks use SetSignaturePolicyOptions; AES parameters and original signed prefixes are retained
AppearanceOptions bounds font, glyph and appearance object resources; Options bounds FDF/XFDF fields, strings, objects and depth; transaction working/output/object/page limits and cancellation checkpoints stay active
A genuine semantic no-op authenticates its policy and keeps the exact current revision bytes; any failed preparation means discarding the transaction
Call WritePreparedPDF, complete all required PDF and result publication callbacks, then call TakeCandidate to transfer both the document and its owned source; failure or cancellation before acceptance leaves the original document alone
The previous ImportData method remains available for one unnamed family with four style programs