function ExportXFDF(const FileName: string): Integer; overload;
function ExportXFDF(Stream: TStream): Integer; overload;
function ExportXFDFToStream(Stream: TStream): Integer;
ExportXFDF apeina kiekvieną įkelto dokumento puslapį ir sukuria
ISO 19444-1 atitinkantį XFDF dokumentą su šaknimi
http://ns.adobe.com/xfdf/ vardų srityje. Išvestį sudaro
<fields> skyrius ir <annots>
skyrius, abu išvedami kaip UTF-8 XML
Formų laukams metodas išvardija kiekvieno puslapio valdiklių
anotacijas, perskaito kiekvieną lauko reikšmę ir įrašo
<field> elementą. Hierarchiniai (kvalifikuoti) laukų
vardai skaidomi taško skirtiku ir išvedami kaip įdėti
<field> elementai, kad tėvo/vaiko struktūra išliktų
ir atgaliniame kelyje. Žymimuosius langelius ir akutes eksportuojant jų
eksportuojama reikšmė (išvaizdos būsenos vardas, reiškiantis
įjungtą būseną) rašoma kaip lauko reikšmė. Parašų laukai įtraukiami į
sąrašą, bet jų reikšmė niekada neeksportuojama
Reikšmės buvimo vėliavėlės laiko aiškiai tuščią lauko reikšmę atskirai nuo praleistos reikšmės, įskaitant laukus, įdėtus giliau nei du lygiai
Anotacijoms serializuojama kiekviena ne valdiklio ir ne iššokančiojo
lango anotacija kiekviename puslapyje. Eksportuotojas atpažįsta 18
/Subtype reikšmių: text, highlight, underline, strikeout,
squiggly, line, circle, square, caret, polygon, polyline, stamp, ink,
freetext, fileattachment, sound, link ir redact. Kiekviena rašoma kaip
elementas po <annots>, nešantis puslapio indeksą,
apibrėžiantį stačiakampį, turinį, pavadinimą (autorių), vardą
(NM), subjektą, modifikavimo ir sukūrimo datas, vėliavėles
ir spalvą
Kodavimo konvencijos laikosi ISO 19444-1: spalvos rašomos kaip
#RRGGBB šešioliktainės eilutės; koordinačių sąrašai
(stačiakampis, linijos galiniai taškai, polygon/polyline viršūnės,
ink sąrašai) yra kableliais atskirti skaičiai; o anotacijų vėliavėlės
išvedamos kaip kableliais atskirtas vėliavėlių vardų sąrašas, o ne
neapdorota bitų kaukė
Kelių eilučių žymėjimo anotacijų coords atributas apima kiekvieną keturkampį dokumento tvarka, o ne tik pirmąją eilutę
Anotacijų turinys naudoja tą pačią buvimo semantiką, todėl aiškiai tuščias contents elementas išlieka eksportuodamas nepaversdamas nesamo elemento tuščiu
Pats PDFium XFDF API neatskleidžia. ExportXFDF įgyvendintas visiškai Paskalyje ir parašytas PDFium Delphi Component ant savo anotacijų ir formų laukų duomenų modelio, PDFium kviesdamas tik atskiroms anotacijų atributų reikšmėms gauti
Grąžina įrašytų UTF-8 baitų skaičių. Stream
perkroba priima TStream, į kurį rašyti; FileName
perkroba priima failo kelią ir tą failą sukuria arba trumpina. ExportXFDFToStream
yra Stream perkrovos sinonimas
CA) ir geometriniai duomenys (linijos galiniai taškai, polygon/polyline viršūnės, ink sąrašai) atskleidžiami per aukšto lygio įrašus, kurie PDFium pusėje yra tik skaitomi, nes PDFium neturi SetNumberValue seterio anotacijų žodynams. Šie atributai eksportuojami nesikeisdami, todėl jie sėkmingai grįžta per XFDF, nors jų redaguoti negalimaImportXFDF arba perdirbti Acrobat, ir atvirkščiai
// 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;