
Поля форм є одним із невід’ємних компонентів роботи з клієнтськими даними, і стає легко поширювати PDF форми Acro серед користувачів, щоб вони могли заповнювати форми даними за своїм вибором і надсилати їх назад. Ми знаємо, що можна використовувати різноманітні поля форми, але серед усіх них дуже поширеними є TextBox, CheckBox, RadioButton і ComboBox. Отже, після заповнення даних у формах Acro ми аналізуємо поля форми в бек-офісі, щоб витягти з них дані та зберегти їх у FDF, XML або безпосередньо в базах даних.
Хоча всі операції, включаючи створення форм PDF, додавання полів форми, оновлення полів форми, можна виконувати вручну, у разі роботи з величезним набором документів ручна операція не здається здійсненною, оскільки вона займає багато часу та може викликати помилки через ручну обробку даних. Таким чином, автоматичні процедури за допомогою мови програмування можуть бути життєздатним рішенням. Таким чином, під час створення програми ми отримуємо можливість або використовувати локальне рішення/API, яке може допомогти нам виконати всі вимоги, або використовувати REST API, розміщені в хмарі, для аналізу полів форми.
Переваги REST API
RESTful API отримує стрибок тут, оскільки вам не потрібно вручну відстежувати всі версії API. Крім того, вам не потрібно постійно оновлювати свою систему версіями API і не потрібно турбуватися про проблеми сумісності API з певною мовою програмування тощо. Тому ми представляємо Aspose.PDF Cloud SDK для Java, який надає можливості створювати, маніпулювати, а також перетворювати PDF-документи в інші підтримувані формати файлів. Java SDK розроблено на основі Aspose.PDF Cloud REST API, до якого можна легко отримати доступ за допомогою команд cURL, а SDK розроблено, щоб полегшити нашим клієнтам використання певної мови програмування.
У цьому блозі ми збираємося пролити світло на те, як аналізувати різні поля форми:
- Читання, додавання або оновлення полів TextBox
- Аналіз полів форми CheckBox
- Додайте або оновіть поля RadioButton
- Маніпулювання полями форми ComboBox
Читання, додавання або оновлення полів TextBox
API пропонує три способи читання інформації, пов’язаної з полями TextBox.
| API | Тип | Опис | Swagger Link |
| ——————————————– | ———– | ——————————————– | —————————— |
| /pdf/{name}/fields/textbox | ОТРИМАТИ | Читати поля TextBox документа | GetDocumentTextBoxFields |
| /pdf/{name}/page/{pageNumber}/fields/textbox | ОТРИМАТИ | Прочитати поля TextBox документа для даної сторінки | GetPageTextBoxFields |
| /pdf/{name}/fields/textbox/{fieldName} | ОТРИМАТИ | Читання полів TextBox документа за назвою поля | GetTextBoxField |
Команда cURL для читання полів TextBox
Оскільки файли зберігаються у вашому особистому хмарному сховищі, вам потрібно спочатку згенерувати маркер автентифікації JWT, для якого потрібен ваш персональний ідентифікатор клієнта та секрет клієнта.
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>"
Зразок FormDataTextBox.pdf, використаний у прикладі вище.
Java
// Щоб отримати повні приклади та файли даних, перейдіть на сторінку 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";
// створити екземпляр об’єкта PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Читання полів TextBox документа
TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
// надрукувати деталі щодо отриманих полів
System.out.println(response.getFields());
}
}
Аналіз полів форми CheckBox
Під час роботи з прапорцями API також надає можливості читати значення прапорців, додавати новий прапорець або оновлювати властивості, пов’язані з існуючим прапорцем у формі PDF.
- GetDocumentCheckBoxFields - Read document checkbox fields
- GetPageCheckBoxFields - Read specific page checkbox fields
- GetCheckBoxField - Read document checkbox field by name
Команда cURL для читання CheckBox на сторінці 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>"
Команда CURL для оновлення прапорця на сторінці 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 запиту
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1
Java
// Щоб отримати повні приклади та файли даних, перейдіть на сторінку 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 {
// створити екземпляр об’єкта PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Створіть екземпляр CheckBox
CheckBoxField updatedCheckBox = new CheckBoxField();
updatedCheckBox.partialName("Check Box1");
updatedCheckBox.height(12.0);
updatedCheckBox.width(12.0);
// встановити стиль прапорця як Діамант
updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
updatedCheckBox.activeState("On");
// увімкніть значення прапорця
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);
// вкажіть деталі індексу сторінки
updatedCheckBox.pageIndex(1);
// встановити деталі стилю межі CheckBox
Border border = new Border();
border.width(1);
border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
// Кольоровий об'єкт для кордону
Color color = new Color();
color.setR(120);
color.setG(220);
color.setB(10);
// встановити колір рамки CheckBox
border.color(color);
// виклик методу для оновлення поля прапорця на сторінці 1
CheckBoxFieldResponse response = pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
// надрукувати код статусу відповіді
System.out.print(response.getStatus());
}
}
Після виконання команди/коду властивості, пов’язані з полем прапорця 1, оновлюються, як показано на зображенні нижче.

Зображення 1: - Попередній перегляд оновленого прапорця 1 за допомогою команди cURL
Додайте або оновіть поля RadioButton
Подібно до полів TextBox і CheckBox, Cloud SDK також надає можливості для читання та оновлення полів RadioButton у документах PDF.
Команда cURL для читання полів RadioButton у документі 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 запиту
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton
Маніпулювання полями форми ComboBox
Зверніть увагу, що маніпулювання ComboBox стає дуже зручним за допомогою Aspose.PDF Cloud SDK для Java. Ви отримуєте можливість прочитати наявні поля ComboBox у документі, додати нове поле ComboBox або оновити наявне ComboBox.
- GetDocumentComboBoxFields - Read document combobox fields
- GetPageComboBoxFields - Read particular page combobox fields
- GetComboBoxField - Read document combobox field by name
- PostComboBoxFields - Add ComboBox field to document
- PutComboBoxField - Replace document combobox field
Команда cURL для читання всіх полів 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 запиту
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox
Висновок
Як пояснювалося в статті вище, обробка полів форми стала досить легкою за допомогою Cloud API. Ви можете переглянути відповідний блог Аналізатор форм | Розпізнавач форм | Заповнення PDF | Автоматизуйте обробку форм за допомогою REST Web API.