ملء نموذج PDF جافا

في هذه الأزمنة الحديثة ، يتم جمع الكثير من البيانات باستخدام النماذج وتجدر الإشارة إلى نماذج PDF القابلة للتعبئة في هذا السياق. إنها طريقة فعالة لجمع المعلومات وترتيبها. علاوة على ذلك ، يتم الآن استخدام نماذج PDF القابلة للتعبئة كمعيار من قبل مؤسسات مختلفة. على سبيل المثال ، يمكن لبعض المحاكم أو شركة المشتريات استخدام نماذج PDF القابلة للتعبئة بكفاءة لتوحيد إجراءاتها. لإنشاء مثل هذه التطبيقات ، Aspose.PDF for Java API هو أنسب واجهة برمجة تطبيقات. فضولي لمعرفة لماذا؟ دعنا نستكشف حالات الاستخدام التالية حيث سنعمل مع نماذج PDF برمجيًا.

تثبيت

يمكنك التوجه إلى قسم الإصدارات الجديدة حيث يمكنك تكوين واجهة برمجة التطبيقات لإثراء تطبيقات Java الخاصة بك وتمكينها من معالجة مستندات 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 قابلة للتعبئة باستخدام Java

يمكنك إنشاء نموذج PDF قابل للتعبئة في تطبيقات Java باتباع الخطوات التالية:

  1. قم بإنشاء ملف PDF بصفحة فارغة
  2. أضف حقل مربع نص وحقل زر راديو على الصفحة
  3. احفظ ملف PDF الناتج

يوضح مقتطف الشفرة أدناه كيفية إنشاء نموذج PDF قابل للتعبئة من البداية باستخدام Java:

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 الحالي باستخدام Java

لقد تعلمنا إنشاء ملف PDF جديد قابل للتعبئة من البداية. دعنا ننتقل إلى السيناريوهات حيث تتم معالجة مستندات PDF الحالية:

i) املأ حقل النموذج في ملف PDF الموجود باستخدام Java

مثلما أنشأنا نموذج PDF في المثال أعلاه ، دعنا نتابع نفس المستند ونملأ حقول النموذج برمجيًا باستخدام Java. يمكنك ملء النموذج الذي تم إنشاؤه بالخطوات التالية:

  1. تحميل ملف الإدخال
  2. قم بتعبئة القيم في حقل TextBox
  3. املأ حقول RadioButton بتحديد خيار
  4. احفظ نموذج PDF

يوضح مقتطف الشفرة أدناه كيفية ملء النماذج القابلة للتعبئة باستخدام Java:

// افتح المستند
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);

ب) تعديل حقل النموذج في مستند PDF باستخدام Java

نحتاج أحيانًا إلى تعديل أو تحديث قيم الحقول في نموذج PDF. يمكنك بسهولة تعديل نموذج PDF قابل للتعبئة من خلال الخطوات التالية:

  1. تهيئة إدخال PDF
  2. احصل على مرجع لحقل النموذج باسمه
  3. قم بتحرير نموذج PDF
  4. احفظ نموذج PDF المحرر

يوضح مقتطف الشفرة أدناه كيفية تحديث أو تحرير ملف PDF قابل للتعبئة باستخدام Java:

// افتح المستند
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);

ج) حذف حقل نموذج في ملف PDF موجود باستخدام Java

يمكنك إزالة حقل نموذج أو حذفه بسهولة في تطبيقات Java الخاصة بك. يمكنك اتباع الخطوات أدناه:

  1. قم بتهيئة نموذج PDF
  2. احذف حقل النموذج باستخدام اسمه
  3. احفظ نموذج PDF المحدث

يوضح مقتطف الرمز أدناه كيفية حذف حقل نموذج من نموذج PDF باستخدام Java:

// افتح المستند
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 باستخدام Java

قد تلاحظ أن بعض نماذج PDF لها حقوق ممتدة. يتم استخدامها لتجنب التعديلات في المحتوى الأصلي ولا يُسمح إلا بملء النماذج. يمكن أن تتأثر الحقوق الممتدة لملفات PDF عندما

يمكنك ملء هذا النموذج وحفظه في مواقع مختلفة من القرص. لذلك ، نحتاج إلى حفظ هذه الملفات بشكل متزايد باتباع الخطوات التالية:

  1. تهيئة نموذج PDF
  2. املأ الحقول
  3. احفظ مستند PDF المعبأ

يوضح مقتطف الشفرة أدناه كيفية الحفاظ على الحقوق الممتدة أثناء ملء نموذج PDF ، باستخدام Java:

// مثيل المستند
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();

استخدم JavaScript في نموذج PDF باستخدام Java

يمكنك ملء حقول نموذج PDF القابلة للتعبئة باستخدام جافا سكريبت مع Aspose.PDF لجافا. يجب عليك اتباع الخطوات التالية:

  1. قم بتحميل مستند PDF
  2. أضف حقلاً في موقع صفحة محدد
  3. عيّن JavaScript وافتح الإجراء للمستند Save PDF file

يوضح مقتطف الشفرة التالي كيفية استخدام JavaScript في نماذج 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 قابلة للتعبئة ، وكذلك ملء أو تحرير حقول النموذج باستخدام بيئة Java. علاوة على ذلك ، اكتشفنا أيضًا الحفاظ على الحقوق الموسعة في مستندات PDF بالإضافة إلى استخدام JavaScript في إجراء مستند PDF. في حالة وجود أي مخاوف أو مشكلات ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا