TXfdfField = record
Name: XFDFString;
Value: XFDFString;
HasValue: Boolean;
Children: array of TXfdfField;
Values: TXfdfWideStrings;
RichText: XFDFString;
HasRichText: Boolean;
end;
TXfdfExportOptions = record
SourceFileName: AnsiString;
FileIdOriginal: AnsiString;
FileIdModified: AnsiString;
NamespaceAttributes: TXfdfNameValuePairs;
end;
TXfdfImportResult = record
Fields: TXfdfFieldArray;
Annotations: TXfdfParsedAnnotationArray;
SourceFile: AnsiString;
FileIdOriginal: AnsiString;
FileIdModified: AnsiString;
NamespaceAttributes: TXfdfNameValuePairs;
end;
TFdfImportResult = record
Fields: TXfdfFieldArray;
SourceFile: XFDFString;
end;
function XfdfExportToStream(Stream: TStream; const Fields: array of TXfdfField;
const Annotations: array of TXfdfAnnotationExport;
const Options: TXfdfExportOptions;
const SubtypeToElementName: array of AnsiString): Integer;
function XfdfExportToFile(const FileName: string; const Fields: array of TXfdfField;
const Annotations: array of TXfdfAnnotationExport;
const Options: TXfdfExportOptions;
const SubtypeToElementName: array of AnsiString): Integer;
function XfdfImportFromStream(Stream: TStream): TXfdfImportResult;
function XfdfImportFromFile(const FileName: string): TXfdfImportResult;
function FdfExportToStream(Stream: TStream; const Fields: array of TXfdfField;
const SourceFileName: AnsiString = ''): Integer;
function FdfExportToFile(const FileName: string; const Fields: array of TXfdfField;
const SourceFileName: AnsiString = ''): Integer;
function FdfImportFromStream(Stream: TStream): TFdfImportResult;
function FdfImportFromFile(const FileName: string): TFdfImportResult;
function XfdfFindAttribute(const Annot: TXfdfParsedAnnotation;
const Name: AnsiString; out Value: AnsiString): Boolean;
function XfdfFindAttr(const Attrs: TXfdfNameValuePairs;
const Name: AnsiString; out Value: AnsiString): Boolean;
FPdfXfdf poskytuje dátový model a serializáciu XFDF a FDF na úrovni Pascalu. Je motorom za TPdf.ExportXFDF, TPdf.ImportXFDF, TPdf.ExportFDF a TPdf.ImportFDF, ale dá sa použiť aj priamo bez otvoreného PDF
Export a import XFDF vymieňa hodnoty polí a anotácie prostredníctvom XML v UTF-8, kým export a import FDF vymieňa zdieľaný strom polí syntaxou objektov podobnou ISO 32000 PDF
Parser FDF podporuje priame aj nepriame hierarchické slovníky polí, escapované literálne reťazce, hexadecimálne reťazce, PDFDocEncoding, text UTF-16, hodnoty názvov, polia, komentáre a explicitné prázdne hodnoty
XfdfFindAttribute a XfdfFindAttr sú pohodlné vyhľadávania na čítanie atribútov z rozobratej anotácie alebo jej surového zoznamu dvojíc názov-hodnota
| Function | Description |
|---|---|
XfdfExportToStream | Serializuje polia a anotácie do prúdu ako UTF-8 XFDF a vráti počet bajtov |
XfdfExportToFile | Serializuje polia a anotácie do súboru ako UTF-8 XFDF a vráti počet bajtov |
XfdfImportFromStream | Rozoberie prúd XFDF na polia, anotácie a identifikátory súboru |
XfdfImportFromFile | Rozoberie súbor XFDF na polia, anotácie a identifikátory súboru |
FdfExportToStream | Serializuje polia do prúdu ako FDF a vráti počet bajtov |
FdfExportToFile | Serializuje polia do súboru ako FDF a vráti počet bajtov |
FdfImportFromStream | Rozoberie prúd FDF na hierarchické polia a voliteľný zdrojový súbor |
FdfImportFromFile | Rozoberie súbor FDF na hierarchické polia a voliteľný zdrojový súbor |
XfdfFindAttribute | Vyhľadá pomenovaný atribút na rozobratej anotácii a vráti jeho hodnotu |
XfdfFindAttr | Vyhľadá pomenovaný atribút v poli dvojíc názov-hodnota |
| Type | Description |
|---|---|
XFDFString | Typ reťazca používaný pre text XFDF (UnicodeString v Delphi, WideString vo FPC) |
TXfdfNameValuePair | Jeden dekódovaný atribút XML s jeho názvom a hodnotou |
TXfdfNameValuePairs | Dynamické pole dekódovaných dvojíc názov-hodnota XML |
TXfdfWideStrings | Dynamické pole textových hodnôt XFDF |
TXfdfField | Záznam opisujúci jedno formulárové pole s jeho názvom, voliteľnou hodnotou a vnorenými dcérskymi poľami |
TXfdfAnnotationExport | Záznam opisujúci jednu anotáciu na export vrátane PageIndex, podtypu, príznakov, HasColor a párov farieb, obdĺžnika a geometrie, plus ContentsText, AuthorText, Subject, ModificationDate, CreationDate, Icon, Opacity, Appearance, HasAppearance, ColorHex, Coords, Action, Destination, HasAction, HasContents, HasDestination, HasInkList, HasInteriorColor, HasLineEndpoints, HasOpacity, HasPopup, HasRichText, HasVertices, InReplyTo, InkGestures, InteriorColorHex, LineEnd, LineStart, PopupOpen, ReplyType, RichText a Vertices |
TXfdfAnnotationExportArray | Dynamické pole popisovačov exportu anotácií |
TXfdfParsedAnnotation | Záznam opisujúci jednu anotáciu rozobratú z dokumentu XFDF vrátane PageIndex, ElementName, surových dvojíc názov-hodnota Attributes, Contents, Action, Destination a geometrie, plus Appearance, HasAppearance, HasAction, HasContents, HasDestination, HasPopup, HasRichText, InkGestures, PopupOpen, RichText a Vertices |
TXfdfExportOptions | Záznam nesúci názov zdrojového súboru a pôvodný aj upravený identifikátor súboru |
TXfdfImportResult | Výsledný záznam spájajúci rozobraté polia, anotácie a identifikátory súboru |
TFdfImportResult | Výsledný záznam spájajúci rozobraté polia FDF a voliteľný zdrojový súbor |
SubtypeToElementName mapuje celočíselné podtypy anotácií na názvy prvkov XFDF, aby export zodpovedal schéme Adobe XFDF/V FDF multi-select obsahuje viacero hodnôt, aktuálny jednohodnotový model poľa vráti prvý dekódovateľný skalár