การทำงานกับฟิลด์ฟอร์ม

เอกสารที่ประกอบด้วยช่องว่างกรอกข้อมูล(ฟิลด์)เป็นที่รู้จักกันเป็นแบบฟอร์ม ตัวอย่างเช่นคุณสามารถสร้างแบบฟอร์มลงทะเบียนใน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");