function ImportXFDF(const FileName: string): Integer; overload;
function ImportXFDF(Stream: TStream): Integer; overload;
ImportXFDF analiza el documento XML XFDF y aplica sus secciones
<fields> y <annots> al PDF cargado
actualmente.
Para cada elemento <field>, el nombre calificado
(con puntos) se compara con las anotaciones widget del documento y el
valor se escribe en la entrada /V del campo. Para los campos
de casilla de verificación y botón de opción, el valor de exportación
suministrado se usa para seleccionar la apariencia de estado activado
correspondiente, de modo que el campo se muestra como marcado.
Un <value> explícitamente vacío borra el campo correspondiente, mientras que un valor omitido lo deja sin cambios; los nombres de campo con puntos profundamente anidados conservan su jerarquía completa
Para cada elemento de anotación, se crea una anotación nueva en la
página indicada por el atributo page (basado en 0). Tras la
creación, el importador completa Contents, Author (title), Name
(NM), Subject, ModificationDate, CreationDate, Icon y las
marcas de anotación a partir de los atributos XFDF correspondientes.
Devuelve la cantidad total de campos y anotaciones procesados.
La importación de anotaciones aplica colores RGB y de interior, conserva los campos de texto explícitamente vacíos, analiza coordenadas decimales de forma independiente de la configuración regional del proceso y restaura cada cuadrilátero de marcado desde el atributo coords
El analizador acepta elementos y atributos con prefijo de espacio de nombres, nodos de texto y CDATA mixtos, referencias a entidades XML y contenido de campos o anotaciones significativo en cuanto a espacios en blanco; las referencias numéricas a escalares Unicode no válidas hacen que se rechace la entrada XFDF
Un elemento contents de anotación omitido deja ausente el contenido de la anotación nueva, mientras que un elemento explícitamente vacío escribe un valor vacío
El atributo rect es obligatorio para cada anotación: si
falta, la anotación se omite en lugar de crearse con un rectángulo de
tamaño cero.
El análisis lo realiza un analizador XML escrito a mano en lugar de un DOM XML completo, por lo que ImportXFDF no introduce ninguna dependencia de XML DOM.
SaveAs después.coords; los extremos de línea, los vértices de polygon/polyline y las listas ink permanecen de solo lectura porque PDFium no expone los setters correspondientes para esos arreglos numéricos
// Import field values and annotations from an .xfdf file
Imported := Pdf1.ImportXFDF('C:\Data\form.xfdf');
Pdf1.SaveAs('C:\Data\form_filled.pdf');