Робота з полями форм

Документ, який містить заготовки наповнювачів (полів) відомий як форму. Наприклад, ви можете створити реєстраційну форму в Microsoft Word Користувачі можуть вибрати записи. Про нас Form поле є розташуванням, де зберігається окремий тип даних, таких як назва або адреса. Форма поля Microsoft Word включає в себе текстовий вхід, комбобокс і прапорець.

Ви можете використовувати поля форми у вашому проекті для “комунікації” з вашими користувачами. Наприклад, ви створюєте документ, вміст якого захищений, але тільки поля форми редагуються. Користувачі можуть ввести дані у вигляді полів і подати документ. Ваше додаток, яке використовує Aspose.Words може отримувати дані з полів форми та обробляти її.

Розміщення полів форми в документі за допомогою коду легко. DocumentBuilder має спеціальні методи для вставки їх, один для кожного виду поля. Кожен з методів приймає параметр рядка, що представляє назву поля форми. Назва може бути порожнім рядком. Якщо ви вказали ім’я для поля форми, то закладок автоматично створюється з такою назвою.

Вставити поля форми

Форма поля – це окремий випадок полів Word, що дозволяє “інтеркція” користувачеві. Форма поля Microsoft Word включають в себе текстову скриньку, комбобокс і прапорець.

DocumentBuilder забезпечує спеціальні методи вставки кожного типу поля форми в документ: insertTextInput, insertCheckBox або insertComboBoxй

Приклад коду показує, як вставити поле форми 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(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");

Вставте комбо 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");