Trabajar con campos de formulario

Un documento que contiene espacios en blanco (campos) para completar se conoce como formulario. Por ejemplo, puede crear un formulario de registro en Microsoft Word que utilice listas desplegables desde las cuales los usuarios pueden seleccionar entradas. El campo Form es una ubicación donde se almacena un tipo particular de datos, como un nombre o una dirección. Los campos de formulario en Microsoft Word incluyen entrada de texto, cuadro combinado y casilla de verificación.

Puede utilizar campos de formulario en su proyecto para “comunicarse” con sus usuarios. Por ejemplo, crea un documento cuyo contenido está protegido, pero solo se pueden editar los campos del formulario. Los usuarios pueden ingresar los datos en los campos del formulario y enviar el documento. Su aplicación que utiliza Aspose.Words puede recuperar datos de los campos del formulario y procesarlos.

Colocar campos de formulario en el documento mediante código es fácil. DocumentBuilder tiene métodos especiales para insertarlos, uno para cada tipo de campo de formulario. Cada uno de los métodos acepta un parámetro de cadena que representa el nombre del campo del formulario. El nombre puede ser una cadena vacía. Sin embargo, si especifica un nombre para el campo del formulario, se crea automáticamente un marcador con el mismo nombre.

Insertar campos de formulario

Los campos de formulario son un caso particular de los campos de Word que permiten la “interacción” con el usuario. Los campos de formulario en Microsoft Word incluyen cuadros de texto, cuadros combinados y casillas de verificación.

DocumentBuilder proporciona métodos especiales para insertar cada tipo de campo de formulario en el documento: insert_text_input, insert_check_box y insert_combo_box. Tenga en cuenta que si especifica un nombre para el campo del formulario, se crea automáticamente un marcador con el mismo nombre.

El siguiente ejemplo de código muestra cómo insertar un campo de formulario de cuadro combinado en un documento:

Insertar una entrada de texto

Utilice el método insert_text_input para insertar un cuadro de texto en el documento.

El siguiente ejemplo de código muestra cómo insertar un campo de formulario de entrada de texto en un documento:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", "Hello", 0)
        
doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_text_input_form_field.docx")

Insertar una casilla de verificación

Llame a insert_check_box para insertar una casilla de verificación en el documento.

El siguiente ejemplo de código muestra cómo insertar un campo de formulario de casilla de verificación en un documento:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.insert_check_box("CheckBox", True, True, 0)
        
doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_check_box_form_field.docx")

Insertar un cuadro combinado

Llame a insert_combo_box para insertar un cuadro combinado en el documento.

El siguiente ejemplo de código muestra cómo insertar un campo de formulario Combobox en un documento:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

items =  ["One", "Two", "Three"] 
builder.insert_combo_box("DropDown", items, 0)

doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_combo_box_form_field.docx")

Obtener campos de formulario

Una colección de campos de formulario está representada por la clase FormFieldCollection que se puede recuperar mediante la propiedad form_fields. Esto significa que puede obtener campos de formulario contenidos en cualquier nodo del documento, incluido el documento mismo.

Puede obtener un campo de formulario particular por su índice o nombre.

El siguiente ejemplo de código muestra cómo acceder a los campos del formulario:

Las propiedades FormField le permiten trabajar con el nombre, el tipo y el resultado del campo del formulario.

El siguiente ejemplo de código muestra cómo trabajar con el nombre, el tipo y el resultado del campo del formulario:

Dar formato a los campos del formulario

La propiedad font de FormField permite aplicar formato de fuente al FormField en su conjunto, incluido el valor del campo.

El siguiente ejemplo de código muestra cómo aplicar formato de fuente al FormField: