PDFium Delphi Component Docs

ExportXFDF metoda

Komponenta: TPdf  ·  Jedinica: PDFium
Serijalizira svaku vrijednost polja obrasca i anotaciju preko svih stranica učitanog dokumenta u XFDF (ISO 19444-1) dokument, zapisan kao UTF-8 XML s imenskim prostorom http://ns.adobe.com/xfdf/

Sintaksa

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

Opis

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

Napomene

Primjer

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

Vidi također

ImportXFDF, Annotation, AnnotationCount, FormFieldInfo