function ExportXFDF(const FileName: string): Integer; overload;
function ExportXFDF(Stream: TStream): Integer; overload;
function ExportXFDFToStream(Stream: TStream): Integer;
ExportXFDF prolazi kroz svaku stranicu učitanog dokumenta i stvara XFDF dokument sukladan ISO 19444-1, ukorijenjen u imenskom prostoru http://ns.adobe.com/xfdf/. Izlaz se sastoji od odjeljka <fields> i odjeljka <annots>, oba zapisana kao UTF-8 XML
Za polja obrazaca metoda enumerira widget anotacije svake stranice, čita vrijednost svakog polja i zapisuje element <field>. Hijerarhijska (kvalificirana) imena polja rastavljaju se na točki razdjelnika i ispisuju kao ugniježđeni <field> elementi, tako da se struktura roditelj/dijete očuvava u oba smjera. Checkbox i radio gumbi izvoze svoju izvoznu vrijednost (naziv stanja prikaza koji predstavlja uključeno stanje) kao vrijednost polja. Polja potpisa navode se, ali se njihova vrijednost nikada ne izvozi
Zastavice prisutnosti vrijednosti razlikuju izričito praznu vrijednost polja od izostavljene vrijednosti, uključujući polja ugniježđena više od dvije razine duboko
Za anotacije serijalizira se svaka ne-widget i ne-popup anotacija na svakoj stranici. Izvoznik prepoznaje 18 vrijednosti /Subtype: text, highlight, underline, strikeout, squiggly, line, circle, square, caret, polygon, polyline, stamp, ink, freetext, fileattachment, sound, link i redact. Svaka se zapisuje kao element pod <annots> koji nosi svoj indeks stranice, ograničavajući pravokutnik, sadržaj, naslov (autora), ime (NM), predmet, datume promjene i stvaranja, zastavice i boju
Konvencije kodiranja slijede ISO 19444-1: boje se zapisuju kao heksadecimalni nizovi #RRGGBB; liste koordinata (pravokutnik, krajnje točke linije, vrhovi polygon/polyline, ink liste) su brojevi odvojeni zarezima; a zastavice anotacija ispisuju se kao zarezom odvojena lista naziva zastavica umjesto sirove bitne maske
Za višeredne anotacije oznaka atribut coords uključuje svaki četverokut redoslijedom dokumenta, a ne samo prvi redak
Sadržaj anotacije koristi istu semantiku prisutnosti, pa izričito prazan element contents preživljava izvoz bez pretvaranja odsutnog elementa u prazan
PDFium sam po sebi ne nudi XFDF API. ExportXFDF je u cijelosti implementiran u Pascalu unutar PDFium Delphi Component, povrh vlastitog modela podataka anotacija i polja obrazaca, koristeći PDFium samo za vrijednosti atributa pojedinačnih anotacija
Vraća broj zapisanih UTF-8 bajtova. Overload Stream prihvaća TStream u koji se zapisuje; overload FileName prihvaća putanju datoteke i stvara/skraćuje tu datoteku. ExportXFDFToStream je alias za overload Stream
CA) i geometrijski podaci (krajnje točke linije, vrhovi polygon/polyline, ink liste) izloženi su kroz više razine zapisa koji su na strani PDFiuma samo za čitanje, jer PDFium nema setter SetNumberValue za rječnike anotacija. Ti se atributi tijekom izvoza čuvaju nepromijenjeni, pa prolaze kroz XFDF u oba smjera iako se ne mogu uređivatiImportXFDF ili obraditi Acrobat, i obrnuto
// Export all fields and annotations to an .xfdf file
BytesWritten := Pdf1.ExportXFDF('C:\Data\form.xfdf');
// Or to a stream
var
Stream: TFileStream;
begin
Stream := TFileStream.Create('C:\Data\form.xfdf', fmCreate);
try
Pdf1.ExportXFDF(Stream);
finally
Stream.Free;
end;
end;