Praca z polami formularzy
Dokument zawierający puste pola (pola) do wypełnienia nazywany jest formularzem. Na przykład możesz utworzyć formularz rejestracyjny w Microsoft Word, który korzysta z list rozwijanych, z których użytkownicy mogą wybierać wpisy. Pole Form
to miejsce, w którym przechowywany jest określony typ danych, taki jak imię i nazwisko lub adres. Pola formularzy w Microsoft Word obejmują wprowadzanie tekstu, pole kombi i pole wyboru.
Możesz używać pól formularzy w swoim projekcie do “komunikowania się” z użytkownikami. Na przykład tworzysz dokument, którego treść jest chroniona, ale edytowalne są tylko pola formularza. Użytkownicy mają możliwość wprowadzenia danych w polach formularza i przesłania dokumentu. Twoja aplikacja korzystająca z Aspose.Words może pobierać dane z pól formularza i je przetwarzać.
Umieszczanie pól formularzy w dokumencie za pomocą kodu jest łatwe. DocumentBuilder posiada specjalne metody ich wstawiania, po jednej dla każdego typu pola formularza. Każda z metod przyjmuje parametr string reprezentujący nazwę pola formularza. Nazwa może być pustym ciągiem znaków. Jeśli jednak podasz nazwę pola formularza, automatycznie utworzona zostanie zakładka o tej samej nazwie.
Wstawianie pól formularza
Pola formularzy to szczególny przypadek pól programu Word, który umożliwia “interakcję” z użytkownikiem. Pola formularzy w Microsoft Word obejmują pole tekstowe, pole kombi i pole wyboru.
DocumentBuilder udostępnia specjalne metody wstawiania każdego typu pola formularza do dokumentu: insert_text_input, insert_check_box i insert_combo_box. Pamiętaj, że jeśli określisz nazwę pola formularza, automatycznie utworzona zostanie zakładka o tej samej nazwie.
Poniższy przykład kodu pokazuje, jak wstawić pole formularza combobox do dokumentu:
# 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) |
Wstaw wprowadzany tekst
Użyj metody insert_text_input, aby wstawić pole tekstowe do dokumentu.
Poniższy przykład kodu pokazuje, jak wstawić pole formularza wprowadzania tekstu do dokumentu:
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")
Wstaw pole wyboru
Wywołaj insert_check_box, aby wstawić pole wyboru do dokumentu.
Poniższy przykład kodu pokazuje, jak wstawić pole formularza pola wyboru do dokumentu:
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")
Wstaw pole kombi
Wywołaj insert_combo_box, aby wstawić Combobox do dokumentu.
Poniższy przykład kodu pokazuje, jak wstawić pole formularza Combobox do dokumentu:
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")
Uzyskaj pola formularza
Zbiór pól formularzy jest reprezentowany przez klasę FormFieldCollection, którą można pobrać za pomocą właściwości form_fields. Oznacza to, że możesz uzyskać pola formularzy zawarte w dowolnym węźle dokumentu, łącznie z samym dokumentem.
# 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 |
Możesz uzyskać określone pole formularza według jego indeksu lub nazwy.
Poniższy przykład kodu pokazuje, jak uzyskać dostęp do pól formularza:
# 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"] |
Właściwości FormField umożliwiają pracę z nazwą, typem i wynikiem pola formularza.
Poniższy przykład kodu pokazuje, jak pracować z nazwą, typem i wynikiem pola formularza:
# 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 |
Formatuj pola formularza
Właściwość font FormField umożliwia zastosowanie formatowania czcionki do całego FormField, łącznie z wartością pola.
Poniższy przykład kodu pokazuje, jak zastosować formatowanie czcionki do 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 |