Práce s polemi formuláře

Dokument, který obsahuje vyplněné mezery (pole), je znám jako formulář. Například můžete vytvořit registrační formulář v Microsoft Word který používá seznamy drop-down, ze kterých mohou uživatelé vybírat položky. The Form pole je místo, kde je uložen určitý typ údajů, jako je jméno nebo adresa. Forma polí v Microsoft Word obsahovat textový vstup, combobox a checkbox.

Ve vašem projektu můžete použít pole formuláře pro komunikaci s uživateli. Například vytvoříte dokument, jehož obsah je chráněn, ale pouze formulářová pole jsou editovatelná. Uživatelé mohou údaje zadat do polí formuláře a dokument předložit. Vaše aplikace, která používá Aspose.Words může získat data z polí formuláře a zpracovat je.

Vložení polí formuláře do dokumentu přes kód je snadné. DocumentBuilder má speciální metody pro jejich vložení, jeden pro každý typ formuláře. Každá z metod přijímá parametr řetězce představující název pole formuláře. Jméno může být prázdný řetězec. Pokud však zadáte název pole formuláře, pak je záložka automaticky vytvořena se stejným názvem.

Vložit pole formuláře

Formulářová pole jsou konkrétním případem polí Word, které umožňují “interakce” s uživatelem. Forma polí v Microsoft Word obsahovat textbox, combo box a checkbox.

DocumentBuilder poskytuje zvláštní metody pro vložení každého typu formuláře do dokumentu: insertTextInput, insertCheckBox nebo insertComboBox.

Následující příklad kódu ukazuje, jak vložit pole formuláře 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");

Vložit textový vstup

Použijte vložit TextVstup způsob vložení textového pole do dokumentu.

Následující příklad kódu ukazuje, jak vložit vstupní pole textu 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");

Vložit kontrolní rámeček

Volat vložitCheckBox vložit checkbox do dokumentu.

Následující příklad kódu ukazuje, jak vložit pole formuláře checkbox 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(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");

Vložit krabici Combo

Volat vložitComboBox vložit do dokumentu combobox.

Následující příklad kódu ukazuje, jak vložit pole formuláře 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(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");

Získat pole formuláře

Sběr formulářových polí představuje FormFieldCollection třída, kterou lze získat pomocí Range.getFormFields majetek. To znamená, že můžete získat formulářová pole obsažená v každém uzelu dokumentu včetně samotného dokumentu.

Následující příklad kódu ukazuje, jak získat kolekci formulářových polí:

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

Můžete získat konkrétní pole formuláře podle jeho indexu nebo názvu.

Následující příklad kódu ukazuje, jak přistupovat k polím formuláře:

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

The FormField vlastnosti umožňují pracovat s názvem pole formuláře, typu a výsledku.

Následující příklad kódu ukazuje, jak pracovat s názvem formuláře, typem a výsledkem:

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