PDFium Component Docs

Metoda ImportXFDF

Component: TPdf  ·  Unit: PDFium
Odczytuje dokument XFDF (ISO 19444-1) i stosuje jego wartości pól formularzy oraz adnotacje do załadowanego PDF, tworząc adnotacje na odpowiednich stronach i zapisując wartości w ich adnotacjach widgetów

Syntax

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

Description

ImportXFDF parsuje dokument XML XFDF i stosuje jego sekcje <fields> i <annots> do aktualnie załadowanego pliku PDF.

Dla każdego elementu <field> kwalifikowana (kropkowana) nazwa jest dopasowywana do adnotacji widgetów w dokumencie, a wartość jest zapisywana do wpisu /V pola. Dla pól wyboru i przełączników dostarczona wartość eksportu służy do wybrania pasującego wyglądu stanu włączonego, więc pole jest renderowane jako zaznaczone.

Jawnie pusty element <value> czyści pasujące pole, podczas gdy pominięta wartość pozostawia je bez zmian; głęboko zagnieżdżone kropkowane nazwy pól zachowują pełną hierarchię

Dla każdego elementu adnotacji nowa adnotacja jest tworzona na stronie wskazanej przez atrybut page (liczony od zera). Po utworzeniu importer wypełnia Contents, Author (title), Name (NM), Subject, ModificationDate, CreationDate, Icon oraz flagi adnotacji z odpowiednich atrybutów XFDF.

Zwraca łączną liczbę przetworzonych pól i adnotacji.

Import adnotacji stosuje kolory RGB i kolory wewnętrzne, zachowuje jawnie puste pola tekstowe, parsuje współrzędne dziesiętne niezależnie od ustawień regionalnych procesu i odtwarza każdy czworokąt znacznika z atrybutu coords

Skaner akceptuje elementy i atrybuty z prefiksem przestrzeni nazw, mieszane węzły tekstowe i CDATA, odwołania do encji XML oraz treść pól lub adnotacji znaczącą co do białych znaków; niepoprawne liczbowe odwołania skalarne Unicode odrzucają wejście XFDF

Pominięty element contents adnotacji pozostawia treść nowej adnotacji nieobecną, podczas gdy jawnie pusty element zapisuje pustą wartość

Atrybut rect jest obowiązkowy dla każdej adnotacji: jeśli brakuje, adnotacja jest pomijana zamiast być tworzona z prostokątem zerowego rozmiaru.

Parsowanie wykonywane jest przez ręcznie napisany skaner XML zamiast pełnego DOM XML, więc ImportXFDF nie wprowadza zależności od XML DOM.

Remarks

Example

// Import field values and annotations from an .xfdf file
Imported := Pdf1.ImportXFDF('C:\Data\form.xfdf');
Pdf1.SaveAs('C:\Data\form_filled.pdf');

See Also

ExportXFDF, CreateAnnotation, Annotation, FormFieldInfo