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());
}