Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
A classe Form fornece a capacidade de lidar com AcroForms estáticos e você pode obter uma instância de campo particular usando o método GetFieldFacade(..) da classe Form. No entanto, os campos XFA não podem ser acessados via o método Form.GetFieldFacade(..). Em vez disso, use Document.Form.XFA para obter definir valores de campo e manipular o template do campo XFA (definir propriedades do campo).
O seguinte trecho de código também funciona com a biblioteca Aspose.PDF.Drawing.
O seguinte trecho de código mostra como preencher campos em um formulário XFA.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void FillXFAFields()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "FillXFAFields.pdf"))
{
// Get names of XFA form fields
var names = document.Form.XFA.FieldNames;
// Set field values
if (names.Length > 0)
{
document.Form.XFA[names[0]] = "Field 0";
}
if (names.Length > 1)
{
document.Form.XFA[names[1]] = "Field 1";
}
// Save PDF document
document.Save(dataDir + "FilledXfa_out.pdf");
}
}
Formulários dinâmicos são baseados em uma especificação XML conhecida como XFA, a “Arquitetura de Formulários XML”. As informações sobre o formulário (no que diz respeito a um PDF) são muito vagas – especifica que os campos existem, com propriedades e eventos JavaScript, mas não especifica nenhuma renderização.
Atualmente, o PDF suporta dois métodos diferentes para integrar dados e formulários PDF:
Não podemos extrair ou manipular páginas de Formulários XFA, porque o conteúdo do formulário é gerado em tempo de execução (durante a visualização do formulário XFA) dentro da aplicação que tenta exibir ou renderizar o formulário XFA. O Aspose.PDF possui um recurso que permite que os desenvolvedores convertam formulários XFA em AcroForms padrão.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertDynamicXFAToAcroForm()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Load dynamic XFA form
using (var document = new Aspose.Pdf.Document(dataDir + "DynamicXFAToAcroForm.pdf"))
{
// Set the form fields type as standard AcroForm
document.Form.Type = Aspose.Pdf.Forms.FormType.Standard;
// Save PDF document
document.Save(dataDir + "StandardAcroForm_out.pdf");
}
}
Para acessar as propriedades do campo, primeiro use Document.Form.XFA.Template para acessar o template do campo. O seguinte trecho de código mostra os passos para obter as coordenadas X e Y de um campo de formulário XFA.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void GetXFAProperties()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "GetXFAProperties.pdf"))
{
// Get names of XFA form fields
var names = document.Form.XFA.FieldNames;
// Set field values
if (names.Length > 0)
{
document.Form.XFA[names[0]] = "Field 0";
}
if (names.Length > 1)
{
document.Form.XFA[names[1]] = "Field 1";
}
// Get field position
if (names.Length > 0)
{
Console.WriteLine(document.Form.XFA.GetFieldTemplate(names[0]).Attributes["x"].Value);
Console.WriteLine(document.Form.XFA.GetFieldTemplate(names[0]).Attributes["y"].Value);
}
// Save PDF document
document.Save(dataDir + "FilledXfa_out.pdf");
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.