Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.PDF for .NET proporciona la capacidad de crear, editar y llenar formularios PDF ya creados. El espacio de nombres Aspose.Pdf.Facades contiene la clase Form, que contiene la función llamada FillField y toma dos argumentos, es decir, el nombre del campo y el valor del campo. Por lo tanto, para llenar los campos del formulario, debes conocer el nombre exacto del campo del formulario.
A menudo nos encontramos con un escenario en el que necesitamos llenar un formulario creado en alguna herramienta, es decir, Adobe Designer, y no estamos seguros sobre los nombres de los campos del formulario. Por lo tanto, para llenar los campos del formulario, primero necesitamos leer los nombres de todos los campos del formulario PDF. La clase Form proporciona la propiedad llamada FieldNames que devuelve todos los nombres de los campos y devuelve null si el PDF no contiene ningún campo. Sin embargo, al usar esta propiedad, obtenemos los nombres de todos los campos en el formulario PDF y podríamos no estar seguros de qué nombre corresponde a qué campo en el formulario.
Como solución a este problema, utilizaremos los atributos de apariencia de cada campo. La clase Form tiene una función llamada GetFieldFacade que devuelve atributos, incluyendo ubicación, color, estilo de borde, fuente, elemento de lista, etc. Para guardar estos valores, necesitamos usar la clase FormFieldFacade, que se utiliza para registrar los atributos visuales de los campos. Una vez que tengamos estos atributos, podemos agregar un campo de texto debajo de cada campo que mostraría el nombre del campo.
En el espacio de nombres Aspose.Pdf.Facades tenemos una clase llamada FormEditor que proporciona la capacidad de manipular formularios PDF. Abre un formulario PDF; agrega un campo de texto debajo de cada campo de formulario existente y guarda el formulario PDF con un nuevo nombre.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void IdentifyFormFieldsNames()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdfFacades_TechnicalArticles();
// First a input pdf file should be assigned
var form = new Aspose.Pdf.Facades.Form(dataDir + "FilledForm.pdf");
// Get all field names
var allfields = form.FieldNames;
// Create an array which will hold the location coordinates of Form fields
var box = new System.Drawing.Rectangle[allfields.Length];
for (int i = 0; i < allfields.Length; i++)
{
// Get the appearance attributes of each field, consequtively
var facade = form.GetFieldFacade(allfields[i]);
// Box in FormFieldFacade class holds field's location
box[i] = facade.Box;
}
// Save PDF document
form.Save(dataDir + "IdentifyFormFields_1_out.pdf");
// Create PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "FilledForm - 2.pdf"))
{
// Now we need to add a textfield just upon the original one
using (var editor = new Aspose.Pdf.Facades.FormEditor(document))
{
for (int i = 0; i < allfields.Length; i++)
{
// Add text field beneath every existing form field
editor.AddField(Aspose.Pdf.Facades.FieldType.Text,
"TextField" + i, allfields[i], 1,
box[i].Left, box[i].Top, box[i].Left + 50, box[i].Top + 10);
}
// Save PDF document
editor.Save(dataDir + "IdentifyFormFields_out.pdf");
}
}
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.