function ImportXFDF(const FileName: string): Integer; overload;
function ImportXFDF(Stream: TStream): Integer; overload;
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.
SaveAs.coords; końce linii, wierzchołki polygon/polyline i listy ink pozostają tylko do odczytu, ponieważ PDFium nie udostępnia odpowiednich setterów dla tych tablic liczb
// Import field values and annotations from an .xfdf file
Imported := Pdf1.ImportXFDF('C:\Data\form.xfdf');
Pdf1.SaveAs('C:\Data\form_filled.pdf');