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. • Form pole je místo, kde je uložen určitý typ údajů, jako je název 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 pole formuláře 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 pro pole formuláře, pak je automaticky vytvořena záložka 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, a InsertComboBox. Všimněte si, že pokud zadáte jméno pro pole formuláře, pak je automaticky vytvořena záložka se stejným názvem.

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-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithFields();
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
string[] items = { "One", "Two", "Three" };
builder.InsertComboBox("DropDown", items, 0);

Vložit textový vstup

Použijte InsertTextInput 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-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertTextInput("TextInput", TextFormFieldType.Regular, "", "Hello", 0);
dataDir = dataDir + "DocumentBuilderInsertTextInputFormField_out.doc";
doc.Save(dataDir);

Vložit kontrolní rámeček

Volat InsertCheckBox 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-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.InsertCheckBox("CheckBox", true, true, 0);
dataDir = dataDir + "DocumentBuilderInsertCheckBoxFormField_out.doc";
doc.Save(dataDir);

Vložit Combo box

Volat InsertComboBox 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-.NET
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
string[] items = { "One", "Two", "Three" };
builder.InsertComboBox("DropDown", items, 0);
dataDir = dataDir + "DocumentBuilderInsertComboBoxFormField_out.doc";
doc.Save(dataDir);

Získat pole formuláře

Sbírka formulářových polí představuje FormFieldCollection třída, kterou lze získat pomocí FormFields 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-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithFields();
Document doc = new Document(dataDir + "FormFields.doc");
FormFieldCollection formFields = doc.Range.FormFields;

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-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithFields();
Document doc = new Document(dataDir + "FormFields.doc");
FormFieldCollection documentFormFields = doc.Range.FormFields;
FormField formField1 = documentFormFields[3];
FormField formField2 = documentFormFields["Text2"];

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 pole formuláře, typu a výsledku:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithFields();
Document doc = new Document(dataDir + "FormFields.doc");
FormField formField = doc.Range.FormFields[3];
if (formField.Type.Equals(FieldType.FieldFormTextInput))
formField.Result = "My name is " + formField.Name;

Pole formuláře

Font vlastnictví FormField umožňuje aplikovat formátování písma na FormField jako celek včetně hodnoty pole.

Následující příklad kódu ukazuje, jak použít formátování písma na FormField:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithFields();
Document doc = new Document(dataDir + "Document.doc");
doc.Range.FormFields[0].Font.Size = 20;
doc.Range.FormFields[0].Font.Color = Color.Red;
doc.Save(dataDir + "Document_out.doc");