function ImportXFDF(const FileName: string): Integer; overload;
function ImportXFDF(Stream: TStream): Integer; overload;
ImportXFDF analisa o documento XML XFDF e aplica suas seções
<fields> e <annots> ao PDF
carregado no momento.
Para cada elemento <field>, o nome qualificado (com pontos) é
comparado com as anotações de widget do documento e o
valor é gravado na entrada /V do campo. Para campos de checkbox e
radio button, o export value fornecido é usado para selecionar a
aparência de estado ligado correspondente, de modo que o campo seja renderizado como marcado.
Um <value> explicitamente vazio limpa o campo correspondente, enquanto um valor omitido o deixa inalterado; nomes de campos pontuados profundamente aninhados retêm sua hierarquia completa
Para cada elemento de anotação, uma nova anotação é criada na página
indicada pelo atributo page (baseado em 0). Após a criação,
o importador preenche Contents, Author (title), Name (NM),
Subject, ModificationDate, CreationDate, Icon e os sinalizadores de anotação
a partir dos atributos XFDF correspondentes.
Retorna o número total de campos e anotações processados.
A importação de anotações aplica cores RGB e interiores, preserva campos de texto explicitamente vazios, analisa coordenadas decimais independentemente da locale do processo e restaura todos os quadriláteros de marcação do atributo coords
O scanner aceita elementos e atributos com prefixo de namespace, nós de texto mistos e CDATA, referências a entidades XML e conteúdo de campo ou anotação sensível a espaços em branco; referências numéricas inválidas a escalares Unicode rejeitam a entrada XFDF
Um elemento contents de anotação omitido deixa o conteúdo da nova anotação ausente, enquanto um elemento explicitamente vazio grava um valor vazio
O atributo rect é obrigatório para cada anotação: se
estiver ausente, a anotação é ignorada em vez de criada com um
retângulo de tamanho zero.
A análise é feita por um scanner XML escrito à mão, em vez de um XML DOM completo, portanto ImportXFDF não introduz dependência de XML DOM.
SaveAs em seguida.coords; extremidades de linha, vértices de polygon/polyline e ink lists permanecem somente leitura porque o PDFium não expõe setters correspondentes para esses arrays 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');