
Les champs de formulaire sont l’un des composants essentiels du traitement des données client et il devient facile de distribuer les formulaires Acro PDF aux utilisateurs afin qu’ils puissent remplir les formulaires avec les données de leur choix et les renvoyer. Nous savons qu’une variété de champs de formulaire peuvent être utilisés, mais parmi tous ceux-ci, les champs TextBox, CheckBox, RadioButton et ComboBox sont très courants. Ainsi, une fois les données remplies dans les formulaires Acro, nous analysons les champs de formulaire au niveau du back-office pour en extraire les données et les enregistrer dans FDF, XML ou directement dans les bases de données.
Bien que toutes les opérations, y compris la création de formulaires PDF, l’ajout de champs de formulaire et la mise à jour des champs de formulaire, puissent être effectuées manuellement, lorsqu’il s’agit d’un ensemble de documents volumineux, l’opération manuelle ne semble pas réalisable car elle prend du temps et est sujette aux erreurs en raison de la manipulation manuelle des données. Les routines automatiques via le langage de programmation peuvent donc être une solution viable. Par conséquent, lors de la création d’un programme, nous avons la possibilité d’utiliser une solution/API sur site qui peut nous aider à répondre à toutes les exigences ou d’utiliser des API REST hébergées dans le cloud pour analyser les champs de formulaire.
Avantages de l’API REST
Les API RESTful sont ici un pas en avant car vous n’avez pas besoin de suivre manuellement toutes les versions d’API. De plus, vous n’avez pas besoin de maintenir votre système à jour avec les versions d’API et vous n’avez pas à vous soucier des problèmes de compatibilité des API avec un certain langage de programmation, etc. Par conséquent, nous présentons Aspose.PDF Cloud SDK for Java qui offre les capacités de créer, de manipuler et de transformer des documents PDF en d’autres formats de fichiers pris en charge. Le SDK Java est développé sur la base des API REST Aspose.PDF Cloud qui sont facilement accessibles à l’aide des commandes cURL et les SDK sont développés pour faciliter l’utilisation d’un langage de programmation particulier par nos clients.
Dans ce blog, nous allons vous expliquer comment analyser différents champs de formulaire :
- Lire, ajouter ou mettre à jour les champs de zone de texte
- Analyser les champs du formulaire CheckBox
- Ajouter ou mettre à jour les champs RadioButton
- Manipuler les champs du formulaire ComboBox
Lire, ajouter ou mettre à jour les champs de zone de texte
L’API propose trois façons de lire les informations associées aux champs TextBox.
| API | Type | Description | Lien Swagger |
| ——————————————– | ———– | ——————————————– | ——————————- |
| /pdf/{name}/fields/textbox | GET | Lire les champs TextBox du document | GetDocumentTextBoxFields |
| /pdf/{name}/page/{pageNumber}/fields/textbox | GET | Lire les champs TextBox du document pour une page donnée | GetPageTextBoxFields |
| /pdf/{name}/fields/textbox/{fieldName} | GET | Lire les champs TextBox du document par un nom de champ | GetTextBoxField |
Commande cURL pour lire les champs TextBox
Étant donné que les fichiers sont stockés dans votre stockage cloud personnel, vous devez d’abord générer un jeton d’authentification JWT qui nécessite votre identifiant client personnalisé et votre secret client.
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>"
Exemple FormDataTextBox.pdf utilisé dans l’exemple ci-dessus.
Java
// Pour des exemples complets et des fichiers de données, veuillez consulter 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";
// créer une instance de l'objet PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Lire les champs de la zone de texte du document
TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
// imprimer les détails concernant les champs récupérés
System.out.println(response.getFields());
}
}
Analyser les champs du formulaire CheckBox
Lorsqu’il s’agit de cases à cocher, l’API fournit également les capacités de lire les valeurs des cases à cocher, d’ajouter une nouvelle case à cocher ou de mettre à jour les propriétés associées à une case à cocher existante sur un formulaire PDF.
- Champs de la case à cocher GetDocument - Read document checkbox fields
- Obtenir les champs de cases à cocher de page - Read specific page checkbox fields
- Obtenir le champ CheckBox - Read document checkbox field by name
Commande cURL pour lire CheckBox sur la page 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>"
Commande CURL pour mettre à jour la case à cocher sur la page 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 la demande
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1
Java
// Pour des exemples complets et des fichiers de données, veuillez consulter 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 {
// créer une instance de l'objet PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Créer une instance CheckBox
CheckBoxField updatedCheckBox = new CheckBoxField();
updatedCheckBox.partialName("Check Box1");
updatedCheckBox.height(12.0);
updatedCheckBox.width(12.0);
// définir le style de la case à cocher sur Diamant
updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
updatedCheckBox.activeState("On");
// activer la valeur de la case à cocher
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);
// spécifier les détails de l'index de la page
updatedCheckBox.pageIndex(1);
// définir les détails du style de bordure de la case à cocher
Border border = new Border();
border.width(1);
border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
// Objet de couleur pour la bordure
Color color = new Color();
color.setR(120);
color.setG(220);
color.setB(10);
// définir la couleur de la bordure de la case à cocher
border.color(color);
// appeler la méthode pour mettre à jour le champ de case à cocher sur la page 1
CheckBoxFieldResponse response = pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
// imprimer le code d'état de la réponse
System.out.print(response.getStatus());
}
}
Une fois la commande/le code exécuté, les propriétés associées au champ de la case à cocher 1 sont mises à jour comme indiqué dans l’image ci-dessous.

Image 1 : Aperçu de la case à cocher 1 mise à jour à l’aide de la commande cURL
Ajouter ou mettre à jour les champs RadioButton
Similaires aux champs TextBox et CheckBox, le Cloud SDK fournit également les fonctionnalités de lecture et de mise à jour des champs RadioButton sur les documents PDF.
Commande cURL pour lire les champs RadioButton sur un document 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 la demande
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton
Manipuler les champs du formulaire ComboBox
Notez que la manipulation de ComboBox devient très pratique avec l’aide d’Aspose.PDF Cloud SDK pour Java. Vous avez la possibilité de lire les champs ComboBox existants sur le document, d’ajouter un nouveau champ ComboBox ou de mettre à jour un ComboBox existant.
- Champs de zone de liste déroulante GetDocument - Read document combobox fields
- Obtenir les champs de la zone de liste déroulante de la page - Read particular page combobox fields
- Obtenir un champ ComboBox - Read document combobox field by name
- Champs PostComboBox - Add ComboBox field to document
- MettreComboBoxField - Replace document combobox field
Commande cURL pour lire tous les champs 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 la demande
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox
Conclusion
Comme expliqué dans l’article ci-dessus, le traitement des champs de formulaire est devenu assez simple grâce aux API Cloud. Vous pouvez envisager de consulter un blog connexe Form Parser | Form Recognizer | PDF Filling | Automatisez le traitement des formulaires avec REST Web API.