PDFium Delphi Component Docs

Método ImportXFDF

Componente: TPdf  ·  Unidade: PDFium
Lê um documento XFDF (ISO 19444-1) e aplica os seus valores de campos de formulário e anotações ao PDF carregado, criando anotações nas páginas correspondentes e escrevendo os valores dos campos nas respetivas anotações widget

Syntax

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

Description

ImportXFDF analisa o documento XML XFDF e aplica as suas secções <fields> e <annots> ao PDF atualmente carregado

Para cada elemento <field>, o nome qualificado (com pontos) é comparado com as anotações widget do documento e o valor é escrito na entrada /V do campo. Para campos de caixa de verificação e botão de opção, o valor de exportação fornecido é usado para selecionar a aparência de estado ligado correspondente, para 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 profundamente aninhados com pontos retêm a sua hierarquia completa

Para cada elemento de anotação, é criada uma nova anotação na página indicada pelo atributo page (baseado em zero). Após a criação, o importador preenche Contents, Author (title), Name (NM), Subject, ModificationDate, CreationDate, Icon e as flags de anotação a partir dos atributos XFDF correspondentes

Devolve 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 de forma independente da região do processo e restaura todos os quadriláteros de marcação a partir do atributo coords

O scanner aceita elementos e atributos com prefixo de espaço de nomes, nós de texto e CDATA mistos, referências a entidades XML e conteúdo de campo ou anotação sensível a espaços; referências numéricas inválidas a escalares Unicode rejeitam a entrada XFDF

Um elemento contents omitido deixa o conteúdo da nova anotação ausente, enquanto um elemento explicitamente vazio escreve um valor vazio

O atributo rect é obrigatório para cada anotação: se faltar, a anotação é ignorada em vez de criada com um retângulo de tamanho zero

A análise é realizada por um scanner XML escrito à mão em vez de um DOM XML completo, pelo que ImportXFDF não introduz qualquer dependência de 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