function ExportXFDF(const FileName: string): Integer; overload;
function ExportXFDF(Stream: TStream): Integer; overload;
function ExportXFDFToStream(Stream: TStream): Integer;
ExportXFDF prehaja vse strani naloženega dokumenta in ustvari
dokument XFDF, skladen z ISO 19444-1, zakoreninjen v imenskem prostoru
http://ns.adobe.com/xfdf/. Izhod sestavljata odsek
<fields> in odsek <annots>, oba
izpisana kot XML UTF-8.
Za polja obrazca metoda našteje opombe gradnikov vsake strani, prebere
vsako vrednost polja in zapiše element <field>.
Hierarhična (kvalificirana) imena polj se razcepijo ločilu pika in se
izpišejo kot gnezdeni elementi <field>, tako da
struktura starš/otrok preživi povratni krog. Potrditvena polja in radijski
gumbi izvozijo svojo izvozno vrednost (ime stanja videza, ki
predstavlja vklopljeno stanje) kot vrednost polja. Polja podpisov so
našteta, njihova vrednost pa se nikoli ne izvozi.
Zastavice prisotnosti vrednosti ločujejo izrecno prazno vrednost polja od izpuščene vrednosti, vključno s polji, gnezdenimi več kot dve ravni globoko
Za opombe se serijalizira vsaka ne-gradnik in ne-pojavna opomba na vsaki
strani. Izvoznik prepozna 18 vrednosti /Subtype:
text, highlight, underline, strikeout, squiggly, line, circle, square,
caret, polygon, polyline, stamp, ink, freetext, fileattachment, sound,
link in redact. Vsaka se zapiše kot element pod <annots>
s svojim indeksom strani, omejevalnim pravokotnikom, vsebino, naslovom
(avtorjem), imenom (NM), zadevo, datumi spremembe in
nastanka, zastavicami in barvo.
Kodirne konvencije sledijo ISO 19444-1: barve se zapišejo kot
šestnajstiški nizi #RRGGBB; seznami koordinat (pravokotnik,
krajišči črt, vozlišča poligonov/polilinij, seznami črtanja) so z vejico
ločena števila; zastavice opomb pa se izpišejo kot z vejico ločen seznam
imen zastavic in ne kot surova bitna maska.
Za večvrstične opombe oznak atribut coords vključuje vse štirikotnike v vrstnem redu dokumenta in ne samo prve vrstice
Vsebina opomb uporablja isto semantiko prisotnosti, zato izrecno prazen element contents preživi izvoz, ne da bi odsoten element postal prazen
PDFium sam ne izpostavlja nobenega API-ja XFDF. ExportXFDF je v celoti implementiran v Pascalu v PDFiumPas, na vrhu lastnega podatkovnega modela opomb in polj obrazca, PDFium pa povprašuje samo po vrednostih atributov posamezne opombe.
Vrne število zapisanih bajtov UTF-8. Preobtežitev Stream
sprejme TStream za pisanje; preobtežitev
FileName sprejme pot datoteke in to datoteko ustvari ali
skrajša. ExportXFDFToStream je vzdevek za preobtežitev
Stream.
CA) in geometrični podatki (krajišči črt, vozlišča poligonov/polilinij, seznami črtanja) so izpostavljeni prek visokoravenskih zapisov, ki so na strani PDFium-a samo za branje, ker PDFium nima nastavitve SetNumberValue za slovarje opomb. Ti atributi se med izvozom ohranijo nespremenjeni, tako da preživijo povratni krog prek XFDF, čeprav jih ni mogoče urejati.ImportXFDF ali porabi Acrobat, in obratno.
// 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;