املأ نموذج PDF

تستخدم نماذج PDF بشكل متكرر لجمع البيانات والمعلومات. على سبيل المثال ، عادة ما يتم تصميم الاستبيانات لجمع الردود لأغراض المسح. يمكنك تعبئة نماذج PDF وتعديلها وتعديلها في C# برمجيًا لأننا نتفاعل مع نماذج PDF مختلفة قابلة للتعبئة في عالم اليوم الرقمي. بالنظر إلى النطاق الهائل والأهمية لنماذج PDF ، Aspose.PDF for .NET تدعم واجهة برمجة التطبيقات العديد من الميزات للعمل مع نماذج PDF. دعنا نستكشف حالات الاستخدام التالية باستخدام لغة C# في هذه المقالة:

إنشاء نماذج PDF قابلة للتعبئة باستخدام C# برمجيًا

يمكنك إنشاء نموذج PDF قابل للتعبئة من البداية باستخدام Aspose.PDF for .NET API. هنا سننظر في المثال الأساسي لإضافة مثيلين TextBoxField و RadioButton. ومع ذلك ، فإن أحد TextBoxField عبارة عن سطر واحد بينما الآخر متعدد الأسطر. فيما يلي خطوات إنشاء نموذج في مستند PDF:

  1. قم بإنشاء مثيل لفئة Document
  2. أضف صفحة فارغة في مستند PDF
  3. أضف TextBox حقل في النموذج
  4. قم بتعيين خصائص مختلفة للحقول بما في ذلك الخط والحدود وما إلى ذلك.
  5. أضف زر راديو في النموذج
  6. احفظ مستند PDF

يوضح مقتطف الشفرة التالي كيفية إنشاء نموذج في PDF باستخدام C#:

Document pdfdoc = new Document();
Page page = pdfdoc.Pages.Add();
TextBoxField nameBox = new TextBoxField(pdfdoc, new Aspose.Pdf.Rectangle(275, 740, 440, 770));
nameBox.PartialName = "nameBox1";
nameBox.DefaultAppearance.FontSize = 10;
nameBox.Multiline = true;
Border nameBorder = new Border(nameBox);
nameBorder.Width = 1;
nameBox.Border = nameBorder;
nameBox.Characteristics.Border = System.Drawing.Color.Black;
nameBox.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
TextBoxField mrnBox = new TextBoxField(pdfdoc, new Aspose.Pdf.Rectangle(275, 718, 440, 738));
mrnBox.PartialName = "Box1";
mrnBox.DefaultAppearance.FontSize = 10;
Border mrnBorder = new Border(mrnBox);
mrnBorder.Width = 1;
mrnBox.Border = mrnBorder;
mrnBox.Characteristics.Border = System.Drawing.Color.Black;
mrnBox.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);
// أضف حقول النموذج إلى الصفحة الأولى من مستند PDF            
pdfdoc.Form.Add(nameBox, 1);
pdfdoc.Form.Add(mrnBox, 1);

//أضف الأزرار الراديوية في إحداثيات موقع محدد في PDF
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
//حدد الموقف هنا
table.Left = 200;
table.Top = 300;
table.ColumnWidths = "120";
page.Paragraphs.Add(table);
Aspose.Pdf.Row r1 = table.Rows.Add();
Aspose.Pdf.Row r2 = table.Rows.Add();
Aspose.Pdf.Cell c1 = r1.Cells.Add();
Aspose.Pdf.Cell c2 = r2.Cells.Add();
RadioButtonField rf = new RadioButtonField(page);
rf.PartialName = "radio";
pdfdoc.Form.Add(rf, 1);
RadioButtonOptionField opt1 = new RadioButtonOptionField();
RadioButtonOptionField opt2 = new RadioButtonOptionField();
opt1.OptionName = "Yes";
opt2.OptionName = "No";
opt1.Width = 15;
opt1.Height = 15;
opt2.Width = 15;
opt2.Height = 15;
rf.Add(opt1);
rf.Add(opt2);
opt1.Border = new Border(opt1);
opt1.Border.Width = 1;
opt1.Border.Style = BorderStyle.Solid;
opt1.Characteristics.Border = System.Drawing.Color.Black;
opt1.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt1.Caption = new TextFragment("Yes");
opt2.Border = new Border(opt1);
opt2.Border.Width = 1;
opt2.Border.Style = BorderStyle.Solid;
opt2.Characteristics.Border = System.Drawing.Color.Black;
opt2.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt2.Caption = new TextFragment("No");
c1.Paragraphs.Add(opt1);
c2.Paragraphs.Add(opt2);
pdfdoc.Save(dataDir + "Fillable_PDF_Form.pdf");

تُظهر لقطة الشاشة أدناه مستند PDF الناتج الذي يحتوي على حقول النموذج كما هو محدد في مقتطف الشفرة أعلاه:

نموذج PDF

تعبئة حقول النموذج أو تعديلها أو حذفها في ملف PDF الحالي باستخدام C#

نظرًا لأننا اكتشفنا إنشاء نموذج في مستند PDF باستخدام C# ، فإن Aspose.PDF for .NET API يدعم العمل مع نماذج PDF الحالية أيضًا. دعونا نناقش الميزات التالية لواجهة برمجة التطبيقات.

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

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

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

يتبع مقتطف الرمز التالي هذه الخطوات ويشرح كيفية ملء الحقول في مستند PDF باستخدام C#:

// افتح المستند
Document pdfDocument = new Document(dataDir + "Fillable_PDF_Form.pdf");

// احصل على الحقول
TextBoxField textBoxField1 = pdfDocument.Form["nameBox1"] as TextBoxField;
TextBoxField textBoxField2 = pdfDocument.Form["Box1"] as TextBoxField;
// املأ قيم حقول النموذج
textBoxField1.Value = "A quick brown fox jumped over a lazy dog.";
textBoxField2.Value = "A quick brown fox jumped over a lazy dog.";

// الحصول على حقل زر الاختيار
RadioButtonField radioField = pdfDocument.Form["radio"] as RadioButtonField;
// حدد فهرس زر الاختيار من المجموعة
radioField.Selected = 1;

dataDir = dataDir + "Fill_PDF_Form_Field.pdf";
// احفظ المستند المحدث
pdfDocument.Save(dataDir);

تظهر لقطة الشاشة أدناه حقول النموذج المملوءة لنموذج PDF باستخدام C#:

ملف PDF قابل للتعبئة

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

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

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

يوضح مقتطف التعليمات البرمجية التالي كيفية تغيير قيمة في حقل نموذج لمستند PDF:

// افتح المستند
Document pdfDocument = new Document(dataDir + "Fill_PDF_Form_Field.pdf");
// احصل على حقل
TextBoxField textBoxField = pdfDocument.Form["nameBox1"] as TextBoxField;
// تعديل قيمة الحقل
textBoxField.Value = "Changed Value";
textBoxField.ReadOnly = true;
dataDir = dataDir + "ModifyFormField.pdf";
// احفظ المستند المحدث
pdfDocument.Save(dataDir);

من الجدير بالذكر هنا أنه لا يمكنك فقط تغيير قيمة النموذج ولكن يمكن تحديث الخصائص الأخرى أيضًا. على سبيل المثال ، تم وضع علامة “للقراءة فقط” على الحقل في مقتطف الشفرة أعلاه.

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

لقد تعلمنا بالفعل عن إضافة وملء حقول نموذج PDF. الآن دعونا نستكشف إزالة حقل النموذج. تحتاج إلى اتباع الخطوات أدناه:

  1. قم بتحميل مستند PDF
  2. طريقة حذف المكالمة مع اسم حقل النموذج
  3. حفظ وثيقة PDF

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

// افتح المستند
Document pdfDocument = new Document(dataDir + "Fill_PDF_Form_Field.pdf");
// حذف حقل معين بالاسم
pdfDocument.Form.Delete("nameBox1");
dataDir = dataDir + "Delete_Form_Field.pdf";
// احفظ المستند المعدل
pdfDocument.Save(dataDir);

الاحتفاظ بالحقوق الممتدة لنماذج PDF باستخدام C#

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

  • قم بتحميل مستند PDF في البث
  • العمل مع النموذج
  • احفظ الملف بدون أي معلمة

يوضح مقتطف كود C# التالي كيفية الحفاظ على الحقوق الممتدة لنموذج PDF:

// اقرأ نموذج PDF المصدر باستخدام FileAccess of Read and Write.
// نحتاج إلى إذن ReadWrite لأنه بعد التعديل ،
// نحتاج إلى حفظ المحتويات المحدثة في نفس المستند / الملف.
FileStream fs = new FileStream(dataDir + "Fill_PDF_Form_Field.pdf", FileMode.Open, FileAccess.ReadWrite);
// مثيل المستند
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(fs);
// احصل على القيم من جميع المجالات
foreach (Field formField in pdfDocument.Form)
{
    // إذا كان الاسم الكامل للحقل يحتوي على A1 ، فقم بإجراء العملية
    if (formField.FullName.Contains("nameBox1"))
    {
        // إرسال حقل النموذج إلى TextBox
        TextBoxField textBoxField = formField as TextBoxField;
        // تعديل قيمة الحقل
        textBoxField.Value = "Preserve Extended Features";
    }
}
// احفظ المستند المحدث في حفظ FileStream
pdfDocument.Save();
// أغلق كائن "دفق الملفات"
fs.Close();

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

يمكنك استخدام JavaScript في حقول نموذج PDF مع Aspose.PDF لـ .NET API. دعنا نتبع الخطوات التالية لتحقيق هذا المطلب:

  1. بدء مثيل لفئة المستند
  2. أضف TextBoxField على الصفحة الأولى في إحداثيات صفحة معينة
  3. قم بإعداد JavaScript
  4. حدد مستند الإجراء
  5. احفظ مستند PDF

يوضح مقتطف الشفرة التالي كيفية إضافة JavaScript في نموذج PDF باستخدام C#:

Aspose.Pdf.Document pdfdoc = new Aspose.Pdf.Document();
pdfdoc.Pages.Add();
Aspose.Pdf.Forms.TextBoxField textBoxField = new Aspose.Pdf.Forms.TextBoxField(pdfdoc.Pages[1], new Aspose.Pdf.Rectangle(85, 750, 215, 770));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";
//TextBoxField.Border = new Border() ،
Border border = new Border(textBoxField);
border.Width = 2;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;
textBoxField.DefaultAppearance.FontSize = 10;
textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// أضف حقلاً إلى المستند
pdfdoc.Form.Add(textBoxField, 1);
string JS = @"var w = this.getField('" + textBoxField.PartialName + "'); var today = new Date(); w.value = today.toLocaleString();";
pdfdoc.OpenAction = new JavascriptAction(JS);
pdfdoc.Save(dataDir + "JS_Form.pdf");

يحصل JavaScript على التاريخ والوقت الحاليين للنظام عندما يتم فتح مستند PDF ويتم ملء هذه القيمة في مربع نص.

استنتاج

في هذه المقالة ، تعلمنا جوانب مختلفة من التعامل مع النموذج في مستندات PDF. يعد إنشاء نماذج PDF أو ملؤها أو تحريرها أمرًا بسيطًا باستخدام Aspose.PDF for .NET API. تقدم API العديد من هذه الميزات المثيرة للعمل مع ملفات مختلفة. أخبرنا بتعليقاتك أو تعليقاتك عبر Free Support Forum.

أنظر أيضا