การทำงานกับเขตข้อมูลฟอร์ม

เอกสารที่มีการกรอกข้อมูลช่องว่าง (เขตข้อมูล) เรียกว่าแบบฟอร์ม ตัวอย่างเช่น คุณสามารถสร้างแบบฟอร์มการลงทะเบียนใน Microsoft Word ที่ใช้รายการแบบเลื่อนลงซึ่งผู้ใช้สามารถเลือกรายการได้ ฟิลด์ Form คือตำแหน่งที่จัดเก็บข้อมูลประเภทใดประเภทหนึ่ง เช่น ชื่อหรือที่อยู่ ช่องแบบฟอร์มใน Microsoft Word ประกอบด้วยการป้อนข้อความ กล่องคำสั่งผสม และช่องทำเครื่องหมาย

คุณสามารถใช้ช่องแบบฟอร์มในโครงการของคุณเพื่อ “สื่อสาร” กับผู้ใช้ของคุณได้ ตัวอย่างเช่น คุณสร้างเอกสารที่มีการป้องกันเนื้อหา แต่สามารถแก้ไขได้เฉพาะช่องแบบฟอร์มเท่านั้น ผู้ใช้สามารถป้อนข้อมูลในช่องแบบฟอร์มและส่งเอกสารได้ แอปพลิเคชันของคุณที่ใช้ Aspose.Words สามารถดึงข้อมูลจากช่องแบบฟอร์มและประมวลผลได้

การวางฟิลด์แบบฟอร์มลงในเอกสารด้วยโค้ดเป็นเรื่องง่าย DocumentBuilder มีวิธีพิเศษในการแทรก โดย 1 วิธีสำหรับช่องแบบฟอร์มแต่ละประเภท แต่ละวิธียอมรับพารามิเตอร์สตริงที่แสดงชื่อของฟิลด์แบบฟอร์ม ชื่อสามารถเป็นสตริงว่างได้ อย่างไรก็ตาม หากคุณระบุชื่อสำหรับฟิลด์แบบฟอร์ม บุ๊กมาร์กจะถูกสร้างขึ้นโดยอัตโนมัติด้วยชื่อเดียวกัน

การแทรกฟิลด์แบบฟอร์ม

ฟิลด์ฟอร์มเป็นกรณีเฉพาะของฟิลด์ 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