العمل مع حقول النموذج

يُعرف المستند الذي يحتوي على فراغات (حقول) مملوءة بالنموذج. على سبيل المثال، يمكنك إنشاء نموذج تسجيل في Microsoft Word يستخدم قوائم منسدلة يمكن للمستخدمين تحديد الإدخالات منها. حقل Form هو موقع يتم فيه تخزين نوع معين من البيانات، مثل الاسم أو العنوان. تتضمن حقول النموذج في Microsoft Word إدخال النص ومربع التحرير والسرد ومربع الاختيار.

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

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

إدراج حقول النموذج

تعد حقول النموذج حالة خاصة لحقول Word التي تسمح “بالتفاعل” مع المستخدم. تتضمن حقول النموذج في Microsoft Word مربع النص ومربع التحرير والسرد ومربع الاختيار.

يوفر DocumentBuilder طرقًا خاصة لإدراج كل نوع من حقول النموذج في المستند: insert_text_input، وinsert_check_box، وinsert_combo_box. لاحظ أنه إذا قمت بتحديد اسم لحقل النموذج، فسيتم إنشاء إشارة مرجعية تلقائيًا بنفس الاسم.

يوضح مثال التعليمات البرمجية التالي كيفية إدراج حقل نموذج combobox في مستند:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
items = ["One", "Two", "Three"]
builder.insert_combo_box("DropDown", items, 0)

أدخل إدخال النص

استخدم طريقة insert_text_input لإدراج مربع نص في المستند.

يوضح مثال التعليمات البرمجية التالي كيفية إدراج حقل نموذج إدخال نص في مستند:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", "Hello", 0)
        
doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_text_input_form_field.docx")

أدخل خانة الاختيار

اتصل بـ insert_check_box لإدراج مربع اختيار في المستند.

يوضح مثال التعليمات البرمجية التالي كيفية إدراج حقل نموذج خانة اختيار في مستند:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.insert_check_box("CheckBox", True, True, 0)
        
doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_check_box_form_field.docx")

قم بإدراج مربع تحرير وسرد

اتصل بـ insert_combo_box لإدراج Combobox في المستند.

يوضح مثال التعليمات البرمجية التالي كيفية إدراج حقل نموذج Combobox في مستند:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

items =  ["One", "Two", "Three"] 
builder.insert_combo_box("DropDown", items, 0)

doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_combo_box_form_field.docx")

الحصول على حقول النموذج

يتم تمثيل مجموعة من حقول النموذج بواسطة فئة FormFieldCollection التي يمكن استرجاعها باستخدام خاصية form_fields. وهذا يعني أنه يمكنك الحصول على حقول النموذج الموجودة في أي عقدة مستند بما في ذلك المستند نفسه.

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Form fields.docx")
formFields = doc.range.form_fields

يمكنك الحصول على حقل نموذج معين من خلال فهرسه أو اسمه.

يوضح مثال التعليمات البرمجية التالي كيفية الوصول إلى حقول النموذج:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Form fields.docx")
documentFormFields = doc.range.form_fields
formField1 = documentFormFields[3]
#formField2 = documentFormFields["Text2"]

تتيح لك خصائص FormField العمل مع اسم حقل النموذج ونوعه والنتيجة.

يوضح مثال التعليمات البرمجية التالي كيفية العمل مع اسم حقل النموذج ونوعه والنتيجة:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Form fields.docx")
formField = doc.range.form_fields[3]
if formField.type == aw.fields.FieldType.FIELD_FORM_TEXT_INPUT :
formField.result = "My name is " + formField.name

تنسيق حقول النموذج

تسمح الخاصية font الخاصة بـ FormField بتطبيق تنسيق الخط على FormField ككل بما في ذلك قيمة الحقل.

يوضح مثال التعليمات البرمجية التالي كيفية تطبيق تنسيق الخط على FormField:

# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET
doc = aw.Document(docs_base.my_dir + "Form fields.docx")
documentFormFields = doc.range.form_fields
formField1 = documentFormFields[3]
#formField2 = documentFormFields["Text2"]
formField1.font.size = 20
#formField2.font.color = Color.red