PDFium Delphi Component Docs

Metoda ExportXFDF

Component: TPdf  ·  Unit: PDFium
Serijalizira vsako vrednost polja obrazca in opombo z vseh strani naloženega dokumenta v dokument XFDF (ISO 19444-1), zapisan kot XML UTF-8 z imenskim prostorom http://ns.adobe.com/xfdf/

Syntax

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

Description

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.

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