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