
فیلدهای فرم یکی از اجزای جدایی ناپذیر هنگام برخورد با داده های مشتری است و توزیع فرم های PDF Acro با کاربران آسان می شود تا بتوانند فرم ها را با داده های مورد نظر خود پر کرده و آن را پس دهند. ما می دانیم که می توان از انواع فیلدهای فرم استفاده کرد، اما در بین همه اینها، TextBox، CheckBox، RadioButton و ComboBox بسیار رایج هستند. بنابراین، هنگامی که دادهها در فرمهای Acro پر شدند، فیلدهای فرم را در دفتر پشتی تجزیه میکنیم تا دادهها را از آنها استخراج کنیم و آنها را در FDF، XML یا مستقیماً در پایگاههای داده ذخیره کنیم.
اگرچه تمام عملیاتها از جمله ایجاد فرمها PDF، افزودن فیلدهای فرم، فعالیت بهروزرسانی فیلدهای فرم را میتوان به صورت دستی انجام داد، وقتی با مجموعه عظیمی از اسناد سروکار داریم، به نظر نمیرسد عملیات دستی امکانپذیر باشد زیرا به دلیل مدیریت دستی دادهها زمانبر و مستعد خطا است. بنابراین روال های خودکار از طریق زبان برنامه نویسی می تواند راه حلی مناسب باشد. بنابراین، هنگام ایجاد یک برنامه، گزینه ای برای استفاده از یک راه حل/API داخلی که می تواند به ما کمک کند تا تمام الزامات را انجام دهیم یا از API های REST میزبان ابری برای تجزیه فیلدهای فرم استفاده کنیم.
مزایای REST API
API های RESTful در اینجا جهشی دارند زیرا نیازی به پیگیری دستی همه نسخه های API ندارید. همچنین، نیازی نیست سیستم خود را با نسخه های API به روز نگه دارید و نیازی به نگرانی در مورد مشکلات سازگاری API ها با یک زبان برنامه نویسی خاص و غیره نباشید. بنابراین، Aspose.PDF Cloud SDK for Java را ارائه می دهیم که قابلیت ایجاد، دستکاری و همچنین تبدیل اسناد PDF به سایر فرمت های فایل پشتیبانی شده را ارائه می دهد. Java SDK در بالای APIهای Aspose.PDF Cloud REST توسعه یافته است که به راحتی می توان با استفاده از دستورات 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 ایجاد کنید که به شناسه مشتری شخصی و Client Secret شما نیاز دارد.
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 مورد استفاده در مثال بالا.
جاوا
// برای نمونه های کامل و فایل های داده، لطفاً به 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 همچنین قابلیت خواندن مقادیر CheckBox، افزودن یک چک باکس جدید یا به روز رسانی ویژگی های مرتبط با یک چک باکس موجود در فرم 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 برای به روز رسانی CheckBox در صفحه 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
جاوا
// برای نمونه های کامل و فایل های داده، لطفاً به 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
- فیلدهای PostComboBox - 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
نتیجه گیری
همانطور که در مقاله بالا توضیح داده شد، پردازش فیلدهای فرم با کمک APIهای ابری بسیار آسان شده است. ممکن است در نظر داشته باشید که از طریق یک وبلاگ مرتبط [تجزیه کننده فرم | فرم تشخیص | پر کردن PDF | پردازش فرم را با REST Web API به صورت خودکار انجام دهید17.