العمل مع حقول النموذج
يعرف المستند الذي يحتوي على فراغات تعبئة (حقول) بالنموذج. على سبيل المثال، يمكنك إنشاء نموذج تسجيل في Microsoft Word يستخدم قوائم منسدلة يمكن للمستخدمين من خلالها تحديد الإدخالات. الحقل Form
هو موقع يتم فيه تخزين نوع معين من البيانات، مثل الاسم أو العنوان. تتضمن حقول النموذج في Microsoft Word إدخال النص و combobox و checkbox.
يمكنك استخدام حقول النموذج في مشروعك “للتواصل"مع المستخدمين. على سبيل المثال، يمكنك إنشاء مستند يكون محتواه محميا، ولكن حقول النموذج فقط قابلة للتحرير. يمكن للمستخدمين إدخال البيانات في حقول النموذج وإرسال المستند. يمكن للتطبيق الذي يستخدم Aspose.Words استرداد البيانات من حقول النموذج ومعالجتها.
من السهل وضع حقول النموذج في المستند عبر الكود. DocumentBuilder لديها طرق خاصة لإدراجها، واحدة لكل نوع حقل نموذج. تقبل كل طريقة معلمة سلسلة تمثل اسم حقل النموذج. يمكن أن يكون الاسم سلسلة فارغة. ومع ذلك، إذا قمت بتحديد اسم لحقل النموذج، فسيتم إنشاء إشارة مرجعية تلقائيا بنفس الاسم.
إدراج حقول النموذج
حقول النموذج هي حالة معينة من حقول الكلمات التي تسمح “بالتفاعل” مع المستخدم. تتضمن حقول النموذج في Microsoft Word مربع النص ومربع التحرير والسرد و checkbox.
DocumentBuilder
يوضح مثال التعليمات البرمجية التالية كيفية إدراج حقل نموذج combobox في مستند:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(InsertFormFields.class); | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
String[] items = {"One", "Two", "Three"}; | |
builder.insertComboBox("DropDown", items, 0); | |
doc.save(dataDir + "output.docx"); |
أدخل إدخال نص
استخدم طريقة insertTextInput لإدراج مربع نص في المستند.
يوضح مثال التعليمات البرمجية التالية كيفية إدراج حقل نموذج إدخال نص في مستند:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderInsertTextInputFormField.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.insertTextInput("TextInput", TextFormFieldType.REGULAR, "", "Hello", 0); | |
doc.save(dataDir + "output.doc"); |
أدخل خانة اختيار
اتصل insertCheckBox لإدراج checkbox في المستند.
يوضح مثال التعليمات البرمجية التالية كيفية إدراج حقل نموذج checkbox في مستند:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderInsertCheckBoxFormField.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
builder.insertCheckBox("CheckBox", true, true, 0); | |
doc.save(dataDir + "output.doc"); |
أدخل مربع التحرير والسرد
اتصل insertComboBox لإدراج combobox في المستند.
يوضح مثال التعليمات البرمجية التالية كيفية إدراج حقل نموذج Combobox في مستند:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(DocumentBuilderInsertComboBoxFormField.class); | |
// Open the document. | |
Document doc = new Document(); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
String[] items = {"One", "Two", "Three"}; | |
builder.insertComboBox("DropDown", items, 0); | |
doc.save(dataDir + "output.doc"); |
الحصول على حقول النموذج
يتم تمثيل مجموعة من حقول النموذج بواسطة فئة FormFieldCollection التي يمكن استرجاعها باستخدام خاصية Range.getFormFields. هذا يعني أنه يمكنك الحصول على حقول النموذج الواردة في أي عقدة وثيقة بما في ذلك المستند نفسه.
يوضح مثال التعليمات البرمجية التالية كيفية الحصول على مجموعة من حقول النموذج:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormFieldsGetFormFieldsCollection.class); | |
Document doc = new Document(dataDir + "FormFields.doc"); | |
FormFieldCollection formFields = doc.getRange().getFormFields(); | |
doc.save(dataDir + "output.docx"); |
يمكنك الحصول على حقل نموذج معين من خلال فهرسه أو اسمه.
يوضح مثال التعليمات البرمجية التالية كيفية الوصول إلى حقول النموذج:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormFieldsGetByName.class); | |
Document doc = new Document(dataDir + "FormFields.doc"); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
// FormFieldCollection formFields = doc.getRange().getFormFields(); | |
FormFieldCollection documentFormFields = doc.getRange().getFormFields(); | |
FormField formField1 = documentFormFields.get(3); | |
FormField formField2 = documentFormFields.get("Text2"); | |
System.out.println("Name: " + formField2.getName()); | |
doc.save(dataDir + "output.docx"); |
تتيح لك خصائص FormField العمل مع اسم حقل النموذج ونوعه والنتيجة.
يوضح مثال التعليمات البرمجية التالية كيفية العمل مع اسم حقل النموذج ونوعه والنتيجة:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(FormFieldsWorkWithProperties.class); | |
Document doc = new Document(dataDir + "FormFields.doc"); | |
DocumentBuilder builder = new DocumentBuilder(doc); | |
FormFieldCollection documentFormFields = doc.getRange().getFormFields(); | |
FormField formField = doc.getRange().getFormFields().get(3); | |
if (formField.getType() == FieldType.FIELD_FORM_TEXT_INPUT) | |
formField.setResult("Field Name :" + formField.getName()); | |
doc.save(dataDir + "output.docx"); |