Работа с форма полета
Документ, който съдържа празноти (полета) е известен като формуляр. Например, можете да създадете регистрационен формуляр в Microsoft Word който използва падащи списъци, от които потребителите могат да избират записи. На Form
поле е място, където се съхранява определен тип данни, като име или адрес. Формиране на полета в Microsoft Word включва текстов вход, комбокса и чекова кутия.
Можете да използвате форма полета във вашия проект за “комуникиране” с вашите потребители. Например, създавате документ, чието съдържание е защитено, но само полетата за форма могат да бъдат редактирани. Потребителите могат да въвеждат данните във форма полета и да представят документа. Вашата молба, която използвате Aspose.Words може да извлича данни от полетата на формата и да ги обработва.
Поставянето на полета с форма в документа чрез код е лесно. DocumentBuilder има специални методи за вмъкване, по един за всеки тип форма поле. Всеки от методите приема низов параметър, представляващ името на полето на формата. Името може да бъде празен низ. Ако обаче посочите име за полето на формата, тогава отметките автоматично се създават със същото име.
Вмъкване на полета с форма
Полета за форма са конкретен случай на Word полета, които позволяват “вмешателство” с потребителя. Формиране на полета в Microsoft Word включва текстова кутия, комбинирана кутия и чекова кутия.
DocumentBuilder предоставя специални методи за вмъкване на всеки тип форма в документа: insertTextInput, insertCheckBox или insertComboBox.
Следният пример за код показва как да вмъкнете полето на комбобокс във форма в документ:
// 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"); |
Вмъкване на текстов вход
Използвайте вмъкване Текст метод за въвеждане на текстова кутия в документа.
Следният пример с код показва как да се въведе поле с текстова форма в документ:
// 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"); |
Вмъкване на отметка
Обаждане вложка CheckBox да поставите отметка в документа.
Следният пример за код показва как да се въведе поле за форма на отметка в документ:
// 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"); |
Вмъкване на Combo Box
Обаждане вмъкванеComboBox да вмъкнете комбобокс в документа.
Следният пример за код показва как да вмъкнете поле за формуляр Combobox в документ:
// 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"); |
Получаване на полета с форма
Колекция от полета с форми е представена от FormFieldCollection клас, който може да бъде изтеглен с помощта на Range.getFormFields собственост. Това означава, че можете да получите полета форма, съдържащи се във всеки документ възел, включително самия документ.
Следният пример за код показва как да получите събиране на полета форма:
// 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"); |
Можете да получите определена форма поле по индекс или име.
Следният пример за код показва как да получите достъп до полета:
// 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"); |
На FormField имоти ви позволяват да работите с форма поле име, тип и резултат.
Следният пример за код показва как да работите с името на полето, вида и резултата:
// 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"); |