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