редакции
Как создать кинематографическую платформу на C #
Создание заполняемых форм в Word — полезный навык, позволяющий разрабатывать интерактивные документы для различных целей. Независимо от того, требуется ли вам собирать информацию, создавать опросы или разрабатывать формы приложений, умение создавать заполняемые формы может упростить ваш рабочий процесс и повысить удобство работы с ними.
Microsoft Word предоставляет мощные инструменты и функции, позволяющие легко создавать и настраивать формы с помощью текстовых полей, флажков, выпадающих меню и т.д. Однако в определенных обстоятельствах может возникнуть необходимость в программном создании заполняемых форм. В данной статье показано, как решить эту задачу с помощью бесплатной библиотеки Word — Free Spire.Doc for .NET.
Установка Free Spire.Doc for .NET с помощью NuGet
Вы можете установить пакет FreeSpire.Doc for .NET, выполнив поиск и установку через «Tool» -> «NuGet Package Manager» -> «Manage NuGet Packages for Solution», или установить его с помощью следующей команды NuGet:
PM> Install-Package FreeSpire.Doc
Создание кинематографической платформы на C #
Следующая версия кода Snippet создает простой формальный текст, работающий с различными видами форм - полей, такими как тексты, rich text, picture, dropdown list, checkbox, date picker и combo box. Вот разрыв кода:
- При инициализации объекта Document создается документ Word.
- В документ добавляется новый раздел.
- В раздел добавляется таблица с 7 строками и 2 столбцами. Ширина столбцов задается с помощью функции SetColumnWidth().
- В раздел добавляется таблица с 7 строками и 2 столбцами. Ширина столбцов задается с помощью функции SetColumnWidth().
- В ячейки первого столбца добавляется текст с помощью метода AddParagraph().
- В ячейки второго столбца добавляются элементы управления содержимым различного назначения (текст, текст с жирным текстом, картинка, выпадающий список, флажок, переключатель дат, комбинированный блок). Для каждого элемента управления содержимым задаются определенные свойства и дочерние объекты.
- Документ защищается, чтобы пользователи могли редактировать только поля формы с помощью метода Protect().
- Наконец, документ сохраняется в файл с именем «Form.docx» в формате DOCX.
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
namespace CreateFormInWord
{
class Program
{
static void Main(string[] args)
{
//Create a Document object
Document doc = new Document();
//Add a section
Section section = doc.AddSection();
//add a table
Table table = section.AddTable(true);
table.ResetCells(7, 2);
table.SetColumnWidth(0, 120, CellWidthType.Point);
table.SetColumnWidth(1, 300, CellWidthType.Point);
//Add text to the cells of the first column
Paragraph paragraph = table.Rows[0].Cells[0].AddParagraph();
paragraph.AppendText("Name");
paragraph = table.Rows[1].Cells[0].AddParagraph();
paragraph.AppendText("Profile");
paragraph = table.Rows[2].Cells[0].AddParagraph();
paragraph.AppendText("Photo");
paragraph = table.Rows[3].Cells[0].AddParagraph();
paragraph.AppendText("Country");
paragraph = table.Rows[4].Cells[0].AddParagraph();
paragraph.AppendText("Hobbies");
paragraph = table.Rows[5].Cells[0].AddParagraph();
paragraph.AppendText("Birthday");
paragraph = table.Rows[6].Cells[0].AddParagraph();
paragraph.AppendText("Sex");
//Add a plain text content control to the cell (0,1)
paragraph = table.Rows[0].Cells[1].AddParagraph();
StructureDocumentTagInline sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.Text;
sdt.SDTProperties.Alias = «Plain Text»;
sdt.SDTProperties.Tag = «Plain Text»;
sdt.SDTProperties.IsShowingPlaceHolder = true;
SdtText text = new SdtText(true);
text.IsMultiline = false;
sdt.SDTProperties.ControlProperties = text;
TextRange tr = new TextRange(doc);
tr.Text = «your name here»;
sdt.SDTContent.ChildObjects.Add(tr);
//Add a rich text content control to the cell (1,1)
paragraph = table.Rows[1].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.RichText;
sdt.SDTProperties.Alias = «Rich Text»;
sdt.SDTProperties.Tag = «Rich Text»;
sdt.SDTProperties.IsShowingPlaceHolder = true;
text = new SdtText(true);
text.IsMultiline = false;
sdt.SDTProperties.ControlProperties = text;
tr = new TextRange(doc);
tr.Text = «brief introduction of yourself»;
sdt.SDTContent.ChildObjects.Add(tr);
//Add a picture content control to the cell (2,1)
paragraph = table.Rows[2].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.Picture;
sdt.SDTProperties.Alias = «Picture»;
sdt.SDTProperties.Tag = «Picture»;
SdtPicture sdtPicture = new SdtPicture();
sdt.SDTProperties.ControlProperties = sdtPicture;
DocPicture pic = new DocPicture(doc);
pic.LoadImage(Image.FromFile("C:\Users\Administrator\Desktop\portrait-icon.png"));
sdt.SDTContent.ChildObjects.Add(pic);
//Add a dropdown list content control to the cell(3,1)
paragraph = table.Rows[3].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
sdt.SDTProperties.SDTType = SdtType.DropDownList;
sdt.SDTProperties.Alias = «Dropdown List»;
sdt.SDTProperties.Tag = «Dropdown List»;
paragraph.ChildObjects.Add(sdt);
SdtDropDownList sddl = new SdtDropDownList();
sddl.ListItems.Add(new SdtListItem("Russia«, «1»));
sddl.ListItems.Add(new SdtListItem("China«, «2»));
sddl.ListItems.Add(new SdtListItem("Briza«, «3»));
sddl.ListItems.Add(new SdtListItem("Austrilia«, «4»));
sdt.SDTProperties.ControlProperties = sddl;
tr = new TextRange(doc);
tr.Text = sddl.ListItems[0].DisplayText;
sdt.SDTContent.ChildObjects.Add(tr);
//Add two check box content controls to the cell (4,1)
paragraph = table.Rows[4].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.CheckBox;
SdtCheckBox scb = new SdtCheckBox();
sdt.SDTProperties.ControlProperties = scb;
tr = new TextRange(doc);
sdt.ChildObjects.Add(tr);
scb.Checked = false;
paragraph.AppendText(" Movie");
paragraph = table.Rows[4].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.CheckBox;
scb = new SdtCheckBox();
sdt.SDTProperties.ControlProperties = scb;
tr = new TextRange(doc);
sdt.ChildObjects.Add(tr);
scb.Checked = false;
paragraph.AppendText(" Game");
//Add a date picker content control to the cell (5,1)
paragraph = table.Rows[5].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.DatePicker;
sdt.SDTProperties.Alias = «Date Picker»;
sdt.SDTProperties.Tag = «Date Picker»;
SdtDate date = new SdtDate();
date.CalendarType = CalendarType.Default;
date.DateFormat = «yyyy.MM.dd»;
date.FullDate = DateTime.Now;
sdt.SDTProperties.ControlProperties = date;
tr = new TextRange(doc);
tr.Text = «your birth date»;
sdt.SDTContent.ChildObjects.Add(tr);
//Add a combo box content control to the cell (6,1)
paragraph = table.Rows[6].Cells[1].AddParagraph();
sdt = new StructureDocumentTagInline(doc);
paragraph.ChildObjects.Add(sdt);
sdt.SDTProperties.SDTType = SdtType.ComboBox;
sdt.SDTProperties.Alias = «Combo Box»;
sdt.SDTProperties.Tag = «Combo Box»;
SdtComboBox cb = new SdtComboBox();
cb.ListItems.Add(new SdtListItem("Male"));
cb.ListItems.Add(new SdtListItem("Female"));
sdt.SDTProperties.ControlProperties = cb;
tr = new TextRange(doc);
tr.Text = cb.ListItems[0].DisplayText;
sdt.SDTContent.ChildObjects.Add(tr);
//Allow users to edit the form fields only
doc.Protect(ProtectionType.AllowOnlyFormFields, «permission-psd»);
//Save to file
doc.SaveToFile("Form.docx", FileFormat.Docx2013);
}
}
} Free Spire.Doc — это
полнофункциональная библиотека Word, которая, помимо создания заполненных
таблиц, поддерживает множество операций, связанных с Word, таких как: Фильмы в форме
полей в работе на C # Печать документов
Word на языке C#
Другие функции