Praca z polami formularzy
Dokument zawierający puste pola (pola) jest znany jako formularz. Na przykład możesz utworzyć formularz rejestracyjny w Microsoft Word, który używa list rozwijanych, z których użytkownicy mogą wybierać wpisy. Pole formularza To lokalizacja, w której przechowywany jest określony typ danych, taki jak nazwa lub adres. Pola formularza w Microsoft Word obejmują wprowadzanie tekstu, Combobox i checkbox.
Możesz użyć pól formularza w projekcie ,aby" komunikować się " z użytkownikami. Na przykład tworzysz dokument, którego zawartość jest chroniona, ale edytowalne są tylko pola formularza. Użytkownicy mogą wprowadzić dane w polach formularza i przesłać dokument. Twoja aplikacja, która używa Aspose.Words, może pobierać dane z pól formularza i przetwarzać je.
Umieszczanie pól formularza w dokumencie za pomocą kodu jest łatwe. DocumentBuilder ma specjalne metody ich wstawiania, po jednym dla każdego typu pola formularza. Każda z metod akceptuje parametr ciągu reprezentujący nazwę pola formularza. Nazwa może być pustym ciągiem. Jeśli jednak podasz nazwę pola formularza, automatycznie zostanie utworzona zakładka o tej samej nazwie.
Wstawianie Pól Formularza
Pola formularza to szczególny przypadek pól Word, który umożliwia “interakcję” z użytkownikiem. Pola formularza w Microsoft Word obejmują pole tekstowe, pole kombi i checkbox.
DocumentBuilder
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-C | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(); | |
System::SharedPtr<DocumentBuilder> builder = System::MakeObject<DocumentBuilder>(doc); | |
System::ArrayPtr<System::String> items = System::MakeArray<System::String>({u"One", u"Two", u"Three"}); | |
builder->InsertComboBox(u"DropDown", items, 0); |
Uzyskiwanie Pól Formularza
Zbiór pól formularza jest reprezentowany przez klasę FormFieldCollection, którą można pobrać za pomocą właściwości FormFields. Oznacza to, że można uzyskać pola formularza zawarte w dowolnym węźle dokumentu, w tym w samym dokumencie.
Poniższy przykład kodu pokazuje, jak uzyskać kolekcję pól formularza:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// The path to the documents directory. | |
System::String inputDataDir = GetInputDataDir_WorkingWithFields(); | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"FormFields.doc"); | |
System::SharedPtr<FormFieldCollection> formFields = doc->get_Range()->get_FormFields(); | |
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-C | |
// The path to the documents directory. | |
System::String inputDataDir = GetInputDataDir_WorkingWithFields(); | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"FormFields.doc"); | |
System::SharedPtr<FormFieldCollection> documentFormFields = doc->get_Range()->get_FormFields(); | |
System::SharedPtr<FormField> formField1 = documentFormFields->idx_get(3); | |
System::SharedPtr<FormField> formField2 = documentFormFields->idx_get(u"Text2"); |
Właściwości FormField umożliwiają pracę z nazwą pola formularza, typem i wynikiem.
Poniższy przykład kodu pokazuje, jak pracować z nazwą pola formularza, typem i wynikiem:
For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-C | |
// The path to the documents directory. | |
System::String inputDataDir = GetInputDataDir_WorkingWithFields(); | |
System::SharedPtr<Document> doc = System::MakeObject<Document>(inputDataDir + u"FormFields.doc"); | |
System::SharedPtr<FormField> formField = doc->get_Range()->get_FormFields()->idx_get(3); | |
if (formField->get_Type() == FieldType::FieldFormTextInput) | |
{ | |
formField->set_Result(System::String(u"My name is ") + formField->get_Name()); | |
} |