Как использовать C# для создания документов Word на основе шаблона
Обзор
Шаблон Word представляет собой документ с заранее определенной структурой, содержимым и стилями. Пользователям нужно только добавить или заменить небольшое количество контента, чтобы создать свои собственные документы. В этой статье я расскажу, как программно создавать документы Word из шаблона, заменяя заполнители (строки) новыми строками или изображениями с помощью Free Spire.Doc for .NET.
Установка Free Spire.Doc for .NET
Во-первых, нужно установить Free Spire.Doc for .NET. Мы можем сделать это через NuGet. Откройте Visual Studio, выберите меню «Tools» (Инструменты), затем выберите «NuGet Package Manager» (Менеджер пакетов NuGet) и «Package Manager Console» (Консоль менеджера пакетов). В консоли введите следующую команду:
Install-Package FreeSpire.Doc
Создание шаблона
Следующий
скриншот показывает шаблон, созданный в MS Word. Строки вида
«#name#», «#address#» являются заполнителями, которые будут
заменены новыми строками. Заполнитель «#photograph#» будет заменен
изображением. Не забудьте применить форматирование (размер шрифта, стиль
шрифта, выравнивание и т. д.) к заполнителям, чтобы новый контент наследовал
это форматирование.
Шаги
по замене заполнителей в шаблоне Word с использованием Free Spire.Doc for .NET
следующие: using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System; using System.Collections.Generic; using System.Drawing; namespace ReplacePlaceholdersInWord { class Program { static void Main(string[] args) { // Создание объекта Document Document document = new Document(); // Загрузка шаблона document.LoadFromFile("C:\Users\Administrator\Desktop\Template.docx"); // Сохранение старых строк — «заполнителей» и новых строк в словаре Dictionary replaceDict = new Dictionary(); replaceDict.Add("#name#«, «Kaila Smith»); replaceDict.Add("#address#«, «123 Michigan Street, Bloomfield, MI94141»); replaceDict.Add("#telephone#«, «537286»); replaceDict.Add("#mail#«, «kaila@hotmail.com»); replaceDict.Add("#nationality#«, «United States»); replaceDict.Add("#birth#«, «July 12th, 1992»); replaceDict.Add("#gender#«, «Female»); //Замена строк новыми строками foreach (KeyValuePair kvp in replaceDict) { document.Replace(kvp.Key, kvp.Value, true, true); } //Получение пути к изображению String imagePath = «C:\Users\Administrator\Desktop\photo.jpg»; // Замена строки в шаблоне на изображение ReplaceTextWithImage(document, «#photograph#», imagePath); // Сохранение файла документа document.SaveToFile("ReplacePlaceholders.docx", FileFormat.Docx); document.Close(); } // Замена строки в документе Word на изображение static void ReplaceTextWithImage(Document document, String stringToReplace, String imagePath) { TextSelection[] selections = document.FindAllString(stringToReplace, false, true); Image image = Image.FromFile(imagePath); int index = 0; TextRange range = null; foreach (TextSelection selection in selections) { DocPicture pic = new DocPicture(document); pic.LoadImage(image); range = selection.GetAsOneRange(); index = range.OwnerParagraph.ChildObjects.IndexOf(range); range.OwnerParagraph.ChildObjects.Insert(index, pic); range.OwnerParagraph.ChildObjects.Remove(range); } } } } Файлы результатов: Кроме создания Word-документов на основе шаблона, Free Spire.Doc
for .NET также предоставляет множество других функций, таких как: — Поддержка создания, изменения и чтения
Word-документов — Поддержка добавления, удаления и
изменения элементов документа, таких как параграфы, таблицы, изображения и т.
д. — Поддержка настройки стилей документа,
шрифтов, цветов и т. д. — Поддержка экспорта Word-документа в
форматы PDF, HTML, RTF и т. д.

Создание документа Word на основе шаблона в C#

Другие функции