
Trường biểu mẫu là một trong những thành phần không thể thiếu khi xử lý dữ liệu khách hàng và việc phân phối các biểu mẫu Acro PDF cho người dùng trở nên dễ dàng để họ có thể điền dữ liệu theo lựa chọn của mình vào biểu mẫu và gửi lại. Chúng ta đã quen với việc có thể sử dụng nhiều trường biểu mẫu khác nhau nhưng trong số đó, TextBox, CheckBox, RadioButton và ComboBox là rất phổ biến. Vì vậy, sau khi dữ liệu đã được điền vào biểu mẫu Acro, chúng ta phân tích các trường biểu mẫu tại văn phòng phụ trợ để trích xuất dữ liệu từ chúng và lưu chúng vào FDF, XML hoặc trực tiếp vào cơ sở dữ liệu.
Mặc dù tất cả các hoạt động bao gồm PDF tạo biểu mẫu, thêm trường biểu mẫu, cập nhật trường biểu mẫu có thể được thực hiện thủ công, nhưng khi xử lý một tập hợp lớn các tài liệu, hoạt động thủ công dường như không khả thi vì tốn thời gian và dễ xảy ra lỗi do xử lý dữ liệu thủ công. Vì vậy, các quy trình tự động thông qua ngôn ngữ lập trình có thể là một giải pháp khả thi. Do đó, khi tạo chương trình, chúng ta có tùy chọn sử dụng giải pháp/API tại chỗ có thể giúp chúng ta hoàn thành tất cả các yêu cầu hoặc sử dụng API REST được lưu trữ trên đám mây để phân tích cú pháp các trường biểu mẫu.
Lợi ích của REST API
Các API RESTful có bước tiến vượt bậc ở đây vì bạn không cần phải theo dõi thủ công tất cả các phiên bản API. Ngoài ra, bạn không cần phải cập nhật hệ thống của mình với các phiên bản API và không cần phải lo lắng về các vấn đề tương thích của các API với một ngôn ngữ lập trình nhất định, v.v. Do đó, chúng tôi giới thiệu Aspose.PDF Cloud SDK cho Java cung cấp các khả năng tạo, thao tác cũng như chuyển đổi các tài liệu PDF sang các định dạng tệp được hỗ trợ khác. Java SDK được phát triển trên các API REST của Aspose.PDF Cloud có thể dễ dàng truy cập bằng các lệnh cURL và các SDK được phát triển để tạo điều kiện thuận lợi cho khách hàng của chúng tôi sử dụng một ngôn ngữ lập trình cụ thể.
Trong blog này, chúng tôi sẽ hướng dẫn cách phân tích các trường biểu mẫu khác nhau:
- Đọc, Thêm hoặc cập nhật các trường TextBox
- Phân tích các trường biểu mẫu CheckBox
- Thêm hoặc cập nhật các trường RadioButton
- Thao tác các trường biểu mẫu ComboBox
Đọc, Thêm hoặc cập nhật các trường TextBox
API cung cấp ba cách để đọc thông tin liên quan đến trường TextBox.
| API | Loại | Mô tả | Liên kết Swagger |
| ——————————————– | ————- | ——————————————– | —————————— |
| /pdf/{name}/fields/textbox | GET | Đọc các trường TextBox của tài liệu | GetDocumentTextBoxFields |
| /pdf/{name}/page/{pageNumber}/fields/textbox | GET | Đọc các trường TextBox của tài liệu cho một trang nhất định | GetPageTextBoxFields |
| /pdf/{name}/fields/textbox/{fieldName} | GET | Đọc các trường TextBox của tài liệu theo tên trường | GetTextBoxField |
lệnh cURL để đọc các trường TextBox
Vì các tập tin được lưu trữ trên bộ nhớ đám mây cá nhân của bạn nên trước tiên bạn cần tạo mã xác thực JWT yêu cầu ID khách hàng và Bí mật khách hàng được cá nhân hóa của bạn.
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>"
Mẫu FormDataTextBox.pdf được sử dụng trong ví dụ trên.
Java
// Để biết ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập 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";
// tạo một thể hiện của đối tượng PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Đọc các trường TextBox của tài liệu
TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
// in các chi tiết liên quan đến các trường đã lấy
System.out.println(response.getFields());
}
}
Phân tích các trường biểu mẫu CheckBox
Khi xử lý CheckBox, API cũng cung cấp khả năng đọc giá trị CheckBox, thêm hộp kiểm mới hoặc cập nhật các thuộc tính liên quan đến hộp kiểm hiện có trên biểu mẫu PDF.
- LấyTài liệuKiểm traTrường - Read document checkbox fields
- LấyTrangKiểmTruyệnTrường - Read specific page checkbox fields
- Lấy trường CheckBox - Read document checkbox field by name
lệnh cURL để đọc CheckBox trên trang 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>"
Lệnh CURL để cập nhật CheckBox trên Trang 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\"}"
Yêu cầu URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1
Java
// Để biết ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập 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 {
// tạo một thể hiện của đối tượng PdfAPi
com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
// Tạo phiên bản CheckBox
CheckBoxField updatedCheckBox = new CheckBoxField();
updatedCheckBox.partialName("Check Box1");
updatedCheckBox.height(12.0);
updatedCheckBox.width(12.0);
// đặt kiểu hộp kiểm là Diamond
updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
updatedCheckBox.activeState("On");
// kích hoạt giá trị hộp kiểm
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);
// chỉ định chi tiết chỉ mục trang
updatedCheckBox.pageIndex(1);
// thiết lập chi tiết kiểu đường viền CheckBox
Border border = new Border();
border.width(1);
border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
// Đối tượng màu cho đường viền
Color color = new Color();
color.setR(120);
color.setG(220);
color.setB(10);
// đặt màu viền CheckBox
border.color(color);
// gọi phương thức để cập nhật trường hộp kiểm trên trang 1
CheckBoxFieldResponse response = pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
// in mã trạng thái phản hồi
System.out.print(response.getStatus());
}
}
Sau khi lệnh/mã được thực thi, các thuộc tính liên quan đến trường hộp kiểm 1 sẽ được cập nhật như hình ảnh bên dưới.

Hình ảnh 1:- Xem trước hộp kiểm đã cập nhật 1 bằng lệnh cURL
Thêm hoặc cập nhật các trường RadioButton
Tương tự như các trường TextBox và CheckBox, Cloud SDK cũng cung cấp khả năng đọc và cập nhật các trường RadioButton trên tài liệu PDF.
lệnh cURL để đọc các trường RadioButton trên tài liệu PDF
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Yêu cầu URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton
Thao tác các trường biểu mẫu ComboBox
Lưu ý rằng thao tác ComboBox trở nên rất tiện dụng với sự trợ giúp của Aspose.PDF Cloud SDK for Java. Bạn có tùy chọn đọc các trường ComboBox hiện có trên tài liệu, thêm trường ComboBox mới hoặc cập nhật ComboBox hiện có.
- Lấy các trường hợp của hộp kết hợp tài liệu - Read document combobox fields
- LấyTrangComboBoxFields - Read particular page combobox fields
- LấyComboBoxField - Read document combobox field by name
- Trường PostComboBox - Add ComboBox field to document
- Đặt Trường Hộp Kết Hợp - Replace document combobox field
lệnh cURL để đọc tất cả các trường ComboBox
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Yêu cầu URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox
Phần kết luận
Như đã giải thích trong bài viết trên, việc xử lý các trường Form đã trở nên khá dễ dàng với sự trợ giúp của Cloud API. Bạn có thể cân nhắc đọc qua blog liên quan Form Parser | Form Recognizer | PDF Filling | Automate form processing with REST Web API.