Praca z Pola formularza

Dokument, który zawiera wypełnienie w pustych polach jest znany jako forma. Na przykład, można utworzyć formularz rejestracyjny w Microsoft Word który używa listy rozwijanej, z której użytkownicy mogą wybierać wpisy. W Form pole jest miejscem przechowywania określonego rodzaju danych, takich jak nazwa lub adres. Formować pola w Microsoft Word zawiera dane wejściowe tekstowe, pole i pole wyboru.

Możesz użyć pól formularza w projekcie do “komunikowania się” z użytkownikami. Na przykład, tworzysz dokument, którego zawartość jest chroniona, ale tylko pola formy są edytowalne. Użytkownicy mogą wprowadzić dane w polach formularza i przedłożyć dokument. Twoja aplikacja, która wykorzystuje Aspose.Words może pobierać dane z pól formularza i przetwarzać je.

Umieszczenie pola formularza w dokumencie za pomocą kodu jest łatwe. DocumentBuilder posiada specjalne metody ich wstawiania, po jednym dla każdego typu pola formularza. Każda z metod akceptuje parametr łańcucha przedstawiający nazwę pola formularza. Nazwa może być pusta. Jeśli jednak podasz nazwę pola formularza, to zakładka zostanie automatycznie utworzona z tą samą nazwą.

Wstaw pola formularza

Pola formularza są szczególnym przypadkiem pól Word, które umożliwiają “interakcję” z użytkownikiem. Formować pola w Microsoft Word zawierają textbox, combo box i pole wyboru.

DocumentBuilder zawiera specjalne metody umieszczania w dokumencie każdego rodzaju pola formularza: insertTextInput, insertCheckBox lub insertComboBox.

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-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");

Wstaw wejście tekstu

Użyj wstawić TextInput metoda umieszczania w dokumencie pola tekstowego.

Poniższy przykład kodu pokazuje, w jaki sposób wstawić pole formularza tekstowego do dokumentu:

// 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");

Wstaw pole kontrolne

Call insertCheckBox wstawić pole kontrolne do dokumentu.

Poniższy przykład kodu pokazuje, jak umieścić pole formularza wyboru w dokumencie:

// 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");

Wstaw pole Combo

Call wstawićComboBox umieszczanie w dokumencie schowka.

Poniższy przykład kodu pokazuje jak umieścić pole formularza Combobox w dokumencie:

// 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");

Uzyskaj pola formularza

Zbiór pól formularzy jest reprezentowany przez FormFieldCollection klasy, które można pobrać za pomocą Range.getFormFields nieruchomości. Oznacza to, że możesz uzyskać pola formularza zawarte w dowolnym węźle dokumentu, w tym samym dokumencie.

Poniższy przykład kodu pokazuje, jak uzyskać zbiór pól formularzy:

// 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");

Możesz otrzymać konkretne 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-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");

W FormField właściwości pozwalają na pracę z nazwą pola formularza, typu i wyniku.

Poniższy przykład kodu pokazuje, jak pracować z nazwą pola formularza, typu i wyniku:

// 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");