
Los campos de formulario son uno de los componentes integrales cuando se trabaja con datos de clientes y resulta fácil distribuir los formularios PDF de Acro a los usuarios para que puedan completarlos con los datos que elijan y enviarlos de vuelta. Sabemos que se pueden utilizar diversos campos de formulario, pero entre todos ellos, los más comunes son los cuadros de texto, los cuadros de verificación, los botones de opción y los cuadros combinados. Por lo tanto, una vez que se han completado los datos en los formularios de Acro, analizamos los campos de formulario en la oficina administrativa para extraer datos de ellos y guardarlos en formato FDF, XML o directamente en bases de datos.
Aunque todas las operaciones, incluidas la creación de formularios PDF, la adición de campos de formulario y la actualización de campos de formulario, se pueden realizar manualmente, cuando se trabaja con un conjunto enorme de documentos, la operación manual no parece ser factible porque consume mucho tiempo y es propensa a errores debido al manejo manual de los datos. Por lo tanto, las rutinas automáticas a través del lenguaje de programación pueden ser una solución viable. Por lo tanto, al crear un programa, tenemos la opción de utilizar una solución/API local que puede ayudarnos a cumplir con todos los requisitos o utilizar API REST alojadas en la nube para analizar los campos del formulario.
Beneficios de la API REST
Las API RESTful dan un paso adelante en este aspecto, ya que no es necesario realizar un seguimiento manual de todas las versiones de API. Además, no es necesario mantener actualizado el sistema con las versiones de API ni preocuparse por problemas de compatibilidad de las API con un determinado lenguaje de programación, etc. Por lo tanto, presentamos Aspose.PDF Cloud SDK para Java, que proporciona las capacidades para crear, manipular y transformar documentos PDF a otros formatos de archivo compatibles. El SDK de Java se desarrolló sobre las API REST de Aspose.PDF Cloud, a las que se puede acceder fácilmente mediante comandos cURL, y los SDK se desarrollaron para facilitar a nuestros clientes el uso de un lenguaje de programación en particular.
En este blog, vamos a arrojar algo de luz sobre cómo analizar diferentes campos de formulario:
- Leer, agregar o actualizar campos de TextBox
- Analizar campos de formulario de CheckBox
- Agregar o actualizar campos de RadioButton
- Manipular campos de formulario ComboBox
Leer, agregar o actualizar campos de TextBox
La API ofrece tres formas de leer la información asociada con los campos TextBox.
| API | Tipo | Descripción | Enlace Swagger |
| ——————————————– | ———– | ——————————————– | —————————— |
| /pdf/{name}/fields/textbox | GET | Leer campos del cuadro de texto del documento | GetDocumentTextBoxFields |
| /pdf/{nombre}/página/{númeroDePágina}/campos/cuadroDeTexto | OBTENER | Leer los campos del cuadro de texto del documento para una página determinada | GetPageTextBoxFields |
| /pdf/{name}/fields/textbox/{fieldName} | GET | Leer los campos del cuadro de texto del documento por un nombre de campo | GetTextBoxField |
Comando cURL para leer campos de TextBox
Dado que los archivos se almacenan en su almacenamiento en la nube personal, primero debe generar un token de autenticación JWT que requiere su ID de cliente y secreto de cliente personalizados.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=xxxx&client_secret=xxxx" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Muestra FormDataTextBox.pdf utilizada en el ejemplo anterior.
Java
// Para obtener ejemplos completos y archivos de datos, visite https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
import com.aspose.asposecloudpdf.ApiException;
import com.aspose.asposecloudpdf.api.PdfApi;
import com.aspose.asposecloudpdf.examples.Common;
import com.aspose.asposecloudpdf.model.FieldResponse;
public class GetFieldTestExample {
public static void main(String[] args) throws ApiException {
String name = "PdfWithAcroForm.pdf";
// crear una instancia del objeto PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Leer los campos del cuadro de texto del documento
TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
// Imprima los detalles de los campos obtenidos
System.out.println(response.getFields());
}
}
Analizar campos de formulario de CheckBox
Al trabajar con casillas de verificación, la API también proporciona la capacidad de leer valores de casillas de verificación, agregar una nueva casilla de verificación o actualizar las propiedades asociadas con una casilla de verificación existente en un formulario PDF.
- Obtener campos de casilla de verificación del documento - Read document checkbox fields
- Obtener campos de casilla de verificación de página - Read specific page checkbox fields
- Obtener campo de casilla de verificación - Read document checkbox field by name
Comando cURL para leer CheckBox en la página 1
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/page/1/fields/checkbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Comando CURL para actualizar CheckBox en la página 1
curl -X PUT "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Links\": [ { \"Href\": \"string\", \"Rel\": \"string\", \"Type\": \"string\", \"Title\": \"string\" } ], \"PartialName\": \"Aspose CheckBox\", \"FullName\": \"Aspose CheckBox\", \"Rect\": { \"LLX\": 88.3573, \"LLY\": 687.617, \"URX\": 97.0198, \"URY\": 695.413 }, \"Value\": \"null\", \"PageIndex\": 1, \"Height\": 12, \"Width\": 12, \"ZIndex\": 0, \"IsGroup\": false, \"IsSharedField\": true, \"Flags\": [ \"Default\" ], \"Color\": { \"A\": 0, \"R\": 150, \"G\": 120, \"B\": 0 }, \"Contents\": \"Field Updated\", \"Margin\": { \"Left\": 0, \"Right\": 0, \"Top\": 0, \"Bottom\": 0 }, \"Highlighting\": \"None\", \"HorizontalAlignment\": \"Left\", \"VerticalAlignment\": \"Center\", \"Border\": { \"Width\": 1, \"EffectIntensity\": 1, \"Style\": \"Solid\", \"Effect\": \"None\", \"Dash\": { \"On\": 1, \"Off\": 2 }, \"Color\": { \"A\": 255, \"R\": 120, \"G\": 120, \"B\": 0 } }, \"AllowedStates\": [ \"Yes\",\"Off\" ], \"Style\": \"Circle\", \"ActiveState\": \"On\", \"Checked\": true, \"ExportValue\": \"Yes\"}"
URL de solicitud
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1
Java
// Para obtener ejemplos completos y archivos de datos, visite https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
import com.aspose.asposecloudpdf.model.Rectangle;
import com.aspose.asposecloudpdf.model.CheckBoxField;
import com.aspose.asposecloudpdf.model.Border;
import com.aspose.asposecloudpdf.model.Color;
import com.aspose.asposecloudpdf.model.CheckBoxFieldResponse;
public class UpdateCheckBoxFieldExample {
public static void main(String[] args) throws ApiException {
// crear una instancia del objeto PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Crear una instancia de CheckBox
CheckBoxField updatedCheckBox = new CheckBoxField();
updatedCheckBox.partialName("Check Box1");
updatedCheckBox.height(12.0);
updatedCheckBox.width(12.0);
// Establecer el estilo de casilla de verificación como Diamante
updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
updatedCheckBox.activeState("On");
// Habilitar el valor de la casilla de verificación
updatedCheckBox.checked(true);
Rectangle rect = new Rectangle();
rect.setLLX(88.3573);
rect.setLLY(687.617);
rect.setURX(97.0198);
rect.setURY(695.413);
updatedCheckBox.rect(rect);
// Especifica los detalles del índice de la página
updatedCheckBox.pageIndex(1);
// Establecer detalles del estilo del borde de la casilla de verificación
Border border = new Border();
border.width(1);
border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
// Objeto de color para el borde
Color color = new Color();
color.setR(120);
color.setG(220);
color.setB(10);
// Establecer el color del borde de la casilla de verificación
border.color(color);
// Llamar al método para actualizar el campo de casilla de verificación en la página 1
CheckBoxFieldResponse response = pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
// Código de estado de respuesta de impresión
System.out.print(response.getStatus());
}
}
Una vez que se ejecuta el comando/código, las propiedades asociadas al campo de la casilla de verificación 1 se actualizan como se muestra en la imagen a continuación.

Imagen 1: Vista previa de la casilla de verificación 1 actualizada mediante el comando cURL
Agregar o actualizar campos de RadioButton
De manera similar a los campos TextBox y CheckBox, el Cloud SDK también proporciona la capacidad de leer y actualizar campos RadioButton en documentos PDF.
Comando cURL para leer campos RadioButton en un documento PDF
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
URL de solicitud
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton
Manipular campos de formulario ComboBox
Tenga en cuenta que la manipulación de ComboBox se vuelve muy útil con la ayuda de Aspose.PDF Cloud SDK para Java. Tiene la opción de leer campos ComboBox existentes en el documento, agregar un nuevo campo ComboBox o actualizar un ComboBox existente.
- Obtener campos del cuadro combinado del documento - Read document combobox fields
- Obtener campos del cuadro combinado de la página - Read particular page combobox fields
- Obtener campo de cuadro combinado - Read document combobox field by name
- Campos de cuadro combinado posterior - Add ComboBox field to document
- PonerCampoComboBox - Replace document combobox field
Comando cURL para leer todos los campos del ComboBox
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
URL de solicitud
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox
Conclusión
Como se explica en el artículo anterior, el procesamiento de campos de formulario se ha vuelto bastante fácil con la ayuda de las API de la nube. Puede considerar consultar un blog relacionado Analizador de formularios | Reconocedor de formularios | Relleno de PDF | Automatización del procesamiento de formularios con API web REST.