PDFium Delphi Component Docs

ExportXFDF metodas

Komponentas: TPdf  ·  Modulis: PDFium
Visų įkelto dokumento puslapių formų laukų reikšmes ir anotacijas serializuoja į XFDF (ISO 19444-1) dokumentą kaip UTF-8 XML su http://ns.adobe.com/xfdf/ vardų sritimi

Syntax

function ExportXFDF(const FileName: string): Integer; overload;
function ExportXFDF(Stream: TStream): Integer; overload;
function ExportXFDFToStream(Stream: TStream): Integer;

Description

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

Remarks

Example

// 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;

See Also

ImportXFDF, Annotation, AnnotationCount, FormFieldInfo