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 proizvodi
XFDF dokument usaglašen sa ISO 19444-1, ukorenjen u imenskom prostoru
http://ns.adobe.com/xfdf/. Izlaz se sastoji od sekcije
<fields> i sekcije <annots>,
obe emitovane kao UTF-8 XML.
Za polja obrasca, metoda nabraja widget anotacije svake stranice,
čita svaku vrednost polja i piše element <field>.
Hijerarhijska (kvalifikovana) imena polja se dele na separatoru tačke i
emituju kao ugnježdeni <field> elementi tako da
struktura roditelj/dete opstaje kroz povratni krug. Checkbox-i i radio
dugmad izvoze svoju vrednost izvoza (ime appearance-stanja koje
predstavlja uključeno stanje) kao vrednost polja. Polja potpisa se
navode, ali se njihova vrednost nikada ne izvozi.
Zastavice prisutnosti vrednosti čuvaju razliku između eksplicitno prazne vrednosti polja i izostavljene vrednosti, uključujući polja ugnježdena dublje od dva nivoa
Za anotacije, serijalizuje se svaka anotacija koja nije widget niti
popup, na svakoj stranici. Izvoznik prepoznaje 18 vrednosti
/Subtype: text, highlight, underline, strikeout, squiggly,
line, circle, square, caret, polygon, polyline, stamp, ink, freetext,
fileattachment, sound, link i redact. Svaka se piše kao element pod
<annots> koji nosi indeks stranice, granični
pravougaonik, sadržaj, naslov (autora), ime (NM), subjekt,
datume izmene i kreiranja, zastavice i boju.
Konvencije kodiranja prate ISO 19444-1: boje se pišu kao heksadekadni
stringovi #RRGGBB; liste koordinata (pravougaonik, krajevi
linije, temena polygon/polyline, ink liste) su brojevi razdvojeni
zapetama; a zastavice anotacija se emituju kao lista imena zastavica
razdvojenih zapetama umesto kao sirova bitmaska.
Za višeredne markup anotacije, atribut coords uključuje svaki četvorougao u redosledu dokumenta, a ne samo prvu liniju
Sadržaj anotacije koristi istu semantiku prisutnosti, pa eksplicitno prazan element contents preživljava izvoz bez pretvaranja odsutnog elementa u prazan
Sam PDFium ne izlaže XFDF API. ExportXFDF je u potpunosti implementiran u Pascal-u od strane PDFiumPas, na vrhu sopstvenog modela podataka anotacija i polja obrasca, koristeći PDFium samo za vrednosti atributa po anotaciji.
Vraća broj napisanih UTF-8 bajtova. Stream overload
prihvata TStream u koji se piše; FileName
overload prihvata putanju datoteke i kreira tu datoteku ili je skraćuje.
ExportXFDFToStream je alias za Stream
overload.
CA) i geometrijski podaci (krajevi linije, temena polygon/polyline, ink liste) izloženi su kroz visokoniveoske zapise koji su na strani PDFium-a samo za čitanje, jer PDFium nema SetNumberValue setter za rečnike anotacija. Ti atributi se tokom izvoza čuvaju nepromenjeni, pa opstaju kroz XFDF iako se ne mogu menjati.ImportXFDF ili je može koristiti 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;