فرم PDF جاوا را پر کنید

در این دوران مدرن، داده های زیادی با استفاده از فرم ها جمع آوری می شود و فرم های PDF قابل پرکردن در این زمینه قابل ذکر است. آنها روشی کارآمد برای جمع آوری و تنظیم اطلاعات هستند. علاوه بر این، فرم‌های PDF قابل پر کردن در حال حاضر به عنوان یک استاندارد توسط مؤسسات مختلف استفاده می‌شوند. به عنوان مثال، برخی از دادگاه های حقوقی یا یک شرکت تدارکاتی می توانند به طور موثر از فرم های PDF قابل پرکردن برای استانداردسازی رویه های خود استفاده کنند. برای ایجاد چنین برنامه هایی، Aspose.PDF برای Java API مناسب ترین API است. کنجکاو هستید بدانید چرا؟ اجازه دهید موارد استفاده زیر را بررسی کنیم که در آن به صورت برنامه‌نویسی با فرم‌های PDF کار می‌کنیم.

نصب و راه اندازی

می‌توانید به بخش نسخه‌های جدید بروید، جایی که می‌توانید API را برای غنی‌سازی برنامه‌های جاوا و فعال کردن آنها برای پردازش اسناد PDF پیکربندی کنید، یا می‌توانید وابستگی را در برنامه Maven خود به صورت زیر تعریف کنید:

مخزن:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository

وابستگی:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.7</version>
</dependency>

پس از پیکربندی موفقیت آمیز API، اجازه دهید به موارد استفاده زیر برویم:

با استفاده از جاوا فرم های PDF قابل پر کردن ایجاد کنید

با دنبال کردن مراحل زیر می توانید فرم PDF قابل پر کردن را در برنامه های جاوا ایجاد کنید:

  1. یک فایل PDF با یک صفحه خالی ایجاد کنید
  2. فیلد TextBox و فیلد RadioButton را به صفحه اضافه کنید
  3. فایل PDF خروجی را ذخیره کنید

قطعه کد زیر نحوه ایجاد یک فرم PDF قابل پر کردن را از ابتدا با استفاده از جاوا نشان می دهد:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
com.aspose.pdf.Page page = pdfdoc.getPages().add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 740, 440, 770));
nameBox.setPartialName("nameBox1");
nameBox.getDefaultAppearance().setFontSize(10);
nameBox.setMultiline(true);
com.aspose.pdf.Border nameBorder = new com.aspose.pdf.Border(nameBox);
nameBorder.setWidth(1);
nameBox.setBorder(nameBorder);
nameBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
nameBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
TextBoxField mrnBox = new TextBoxField(pdfdoc, new com.aspose.pdf.Rectangle(275, 718, 440, 738));
mrnBox.setPartialName("Box1");
mrnBox.getDefaultAppearance().setFontSize(10);
com.aspose.pdf.Border mrnBorder = new com.aspose.pdf.Border(mrnBox);
mrnBorder.setWidth(1);
mrnBox.setBorder(mrnBorder);
mrnBox.getCharacteristics().setBorder(java.awt.Color.BLACK);
mrnBox.setColor(com.aspose.pdf.Color.fromRgb(Color.RED));
// فیلدهای فرم را به صفحه اول سند PDF اضافه کنید            
pdfdoc.getForm().add(nameBox, 1);
pdfdoc.getForm().add(mrnBox, 1);

//دکمه های رادیویی را در مختصات موقعیت خاص در PDF اضافه کنید
com.aspose.pdf.Table table = new com.aspose.pdf.Table();
//موقعیت را در اینجا تنظیم کنید
table.setLeft(200);
table.setTop(300);
table.setColumnWidths("120");
page.getParagraphs().add(table);
com.aspose.pdf.Row r1 = table.getRows().add();
com.aspose.pdf.Row r2 = table.getRows().add();
com.aspose.pdf.Cell c1 = r1.getCells().add();
com.aspose.pdf.Cell c2 = r2.getCells().add();
com.aspose.pdf.RadioButtonField rf = new com.aspose.pdf.RadioButtonField(page);
rf.setPartialName("radio");
pdfdoc.getForm().add(rf, 1);
com.aspose.pdf.RadioButtonOptionField opt1 = new com.aspose.pdf.RadioButtonOptionField();
com.aspose.pdf.RadioButtonOptionField opt2 = new com.aspose.pdf.RadioButtonOptionField();
opt1.setOptionName("Yes");
opt2.setOptionName("No");
opt1.setWidth(15);
opt1.setHeight(15);
opt2.setWidth(15);
opt2.setHeight(15);
rf.add(opt1);
rf.add(opt2);
opt1.setBorder(new com.aspose.pdf.Border(opt1));
opt1.getBorder().setWidth(1);
opt1.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt1.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt1.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt1.setCaption(new com.aspose.pdf.TextFragment("Yes"));
opt2.setBorder(new com.aspose.pdf.Border(opt1));
opt2.getBorder().setWidth(1);
opt2.getBorder().setStyle(com.aspose.pdf.BorderStyle.Solid);
opt2.getCharacteristics().setBorder(java.awt.Color.BLACK);
opt2.getDefaultAppearance().setTextColor(java.awt.Color.RED);
opt2.setCaption(new com.aspose.pdf.TextFragment("No"));
c1.getParagraphs().add(opt1);
c2.getParagraphs().add(opt2);
pdfdoc.save(dataDir + "Fillable_PDF_Form.pdf");

پر کردن، اصلاح یا حذف فیلدهای فرم در PDF موجود با استفاده از جاوا

ما یاد گرفته ایم که یک فایل PDF قابل پرکردن جدید از ابتدا ایجاد کنیم. اجازه دهید به سناریوهایی که اسناد PDF موجود پردازش می شوند ادامه دهیم:

i) یک فیلد فرم را در فایل PDF موجود با استفاده از جاوا پر کنید

همانطور که در مثال بالا فرم PDF را ایجاد کردیم، اجازه دهید با همان سند پیش برویم و فیلدهای فرم را به صورت برنامه نویسی با استفاده از جاوا پر کنیم. می توانید فرم ایجاد شده را با مراحل زیر پر کنید:

  1. فایل ورودی را بارگیری کنید
  2. مقادیر را در قسمت TextBox پر کنید
  3. با انتخاب یک گزینه، فیلدهای RadioButton را پر کنید
  4. فرم PDF را ذخیره کنید

قطعه کد زیر نحوه پر کردن فرم های قابل پر کردن با استفاده از جاوا را نشان می دهد:

// سند را باز کنید
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fillable_PDF_Form.pdf");

// زمینه ها را دریافت کنید
TextBoxField textBoxField1 = (TextBoxField) pdfDocument.getForm().get("nameBox1");
TextBoxField textBoxField2 = (TextBoxField) pdfDocument.getForm().get("Box1");
// مقادیر فیلدهای فرم را پر کنید
textBoxField1.setValue("A quick brown fox jumped over a lazy dog.");
textBoxField2.setValue("A quick brown fox jumped over a lazy dog.");

// دریافت فیلد دکمه رادیویی
RadioButtonField radioField = (RadioButtonField) pdfDocument.getForm().get("radio");
// شاخص دکمه رادیویی را از گروه مشخص کنید
radioField.setSelected(1);

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// سند به روز شده را ذخیره کنید
pdfDocument.save(dataDir);

ii) یک فیلد فرم را در سند PDF با استفاده از جاوا تغییر دهید

گاهی اوقات لازم است مقادیر فیلد را در یک فرم PDF ویرایش یا به روز کنیم. با مراحل زیر می توانید به راحتی فرم PDF قابل پر شدن را ویرایش کنید:

  1. PDF ورودی را راه اندازی کنید
  2. یک مرجع به فیلد فرم با نام آن دریافت کنید
  3. فرم PDF را ویرایش کنید
  4. فرم PDF ویرایش شده را ذخیره کنید

قطعه کد زیر نحوه به روز رسانی یا ویرایش یک فایل PDF قابل پرکردن را با استفاده از جاوا نشان می دهد:

// سند را باز کنید
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// یک میدان بگیرید
TextBoxField textBoxField = (TextBoxField) pdfDocument.getForm().get("nameBox1");
// مقدار فیلد را تغییر دهید
textBoxField.setValue("Changed Value");
textBoxField.setReadOnly(true);
dataDir = dataDir + "ModifyFormField.pdf";
// سند به روز شده را ذخیره کنید
pdfDocument.save(dataDir);

iii) یک فیلد فرم را در فایل PDF موجود با استفاده از جاوا حذف کنید

می توانید یک فیلد فرم را به راحتی در برنامه های جاوا خود حذف یا حذف کنید. می توانید مراحل زیر را دنبال کنید:

  1. یک فرم PDF را راه اندازی کنید
  2. فیلد فرم را با نام آن حذف کنید
  3. فرم PDF به روز شده را ذخیره کنید

قطعه کد زیر نحوه حذف یک فیلد فرم را از فرم PDF با استفاده از جاوا نشان می دهد:

// سند را باز کنید
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// یک فیلد خاص را با نام حذف کنید
pdfDocument.getForm().delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// سند اصلاح شده را ذخیره کنید
pdfDocument.save(dataDir);

حفظ حقوق توسعه یافته فرم های PDF با استفاده از جاوا

ممکن است متوجه شوید که برخی از فرم های PDF دارای حقوق گسترده ای هستند. از آنها برای جلوگیری از تغییرات در محتوای اصلی استفاده می شود و فقط پر کردن فرم ها مجاز است. حقوق توسعه یافته فایل های PDF می تواند تحت تاثیر قرار گیرد

شما چنین فرمی را پر می کنید و آن را در مکان های مختلف دیسک ذخیره می کنید. بنابراین، ما باید این گونه فایل ها را به صورت تدریجی با مراحل زیر ذخیره کنیم:

  1. فرم PDF را راه اندازی کنید
  2. فیلدها را پر کنید
  3. سند PDF پر شده را ذخیره کنید

قطعه کد زیر نحوه حفظ حقوق توسعه یافته هنگام پر کردن فرم PDF را با استفاده از جاوا نشان می دهد:

// نمونه سند نمونه
com.aspose.pdf.Document pdfDocument = new com.aspose.pdf.Document(dataDir + "Fill_PDF_Form_Field.pdf");
// مقادیر را از همه فیلدها دریافت کنید
for (com.aspose.pdf.Field formField : pdfDocument.getForm().getFields())
{
    // اگر نام کامل فیلد حاوی nameBox1 باشد، عملیات را انجام دهید
    if (formField.getFullName().contains("nameBox1"))
    {
        // قسمت فرم ارسال به عنوان TextBox
        TextBoxField textBoxField = (TextBoxField) formField;
        // مقدار فیلد را تغییر دهید
        textBoxField.setValue("Preserve Extended Features");
    }
}
// سند به روز شده را ذخیره کنید
pdfDocument.save();

از جاوا اسکریپت در فرم PDF با استفاده از جاوا استفاده کنید

می توانید فیلدهای فرم PDF قابل پر کردن را با استفاده از جاوا اسکریپت با Aspose.PDF برای جاوا پر کنید. شما باید مراحل زیر را دنبال کنید:

  1. سند PDF را بارگیری کنید
  2. یک فیلد در مکان صفحه خاص اضافه کنید
  3. جاوا اسکریپت را تنظیم کنید و اکشن را برای سند ذخیره فایل PDF باز کنید

قطعه کد زیر نحوه استفاده از جاوا اسکریپت را در فرم های PDF قابل پرکردن نشان می دهد:

com.aspose.pdf.Document pdfdoc = new com.aspose.pdf.Document();
pdfdoc.getPages().add();
TextBoxField textBoxField = new TextBoxField(pdfdoc.getPages().get_Item(1), new com.aspose.pdf.Rectangle(85, 750, 215, 770));
textBoxField.setPartialName("textbox1");
textBoxField.setValue("Text Box");
//TextBoxField.Border = new Border();
com.aspose.pdf.Border border = new com.aspose.pdf.Border(textBoxField);
border.setWidth(2);
border.setDash(new com.aspose.pdf.Dash(1, 1));
textBoxField.setBorder(border);
textBoxField.getDefaultAppearance().setFontSize(10);
textBoxField.setColor(com.aspose.pdf.Color.fromRgb(java.awt.Color.GREEN));
// فیلد را به سند اضافه کنید
pdfdoc.getForm().add(textBoxField, 1);
String JS = "var w = this.getField('" + textBoxField.getPartialName() + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.setOpenAction(new com.aspose.pdf.JavascriptAction(JS));
pdfdoc.save(dataDir + "JS_Form.pdf");

نتیجه

ما یاد گرفته‌ایم که چگونه فرم‌های PDF قابل پر کردن و همچنین پر کردن یا ویرایش فیلدهای فرم را با استفاده از محیط جاوا بسازیم. علاوه بر این، ما همچنین حفظ حقوق توسعه یافته در اسناد PDF را علاوه بر استفاده از جاوا اسکریپت بر روی یک سند PDF بررسی کرده ایم. در صورت وجود هرگونه نگرانی یا مشکل، لطفاً با ما در [تالار گفتمان پشتیبانی رایگان6 تماس بگیرید.

همچنین ببینید