Как создать документ Word на C# с использованием бесплатного API

от автора

  • Обзор

  • Бесплатный API для создания документов Word

  • Добавление заголовка, подзаголовков и абзаца в Word

  • Добавление изображения в Word

  • Добавление списка в Word

  • Добавление таблицы в Word

  • Заключение

Обзор

Создание документов Word программно может стать мощным инструментом для автоматизации отчетов, генерации счетов-фактур или динамического производства любого письменного контента. В этой статье мы рассмотрим, как создать документ Word с использованием бесплатного API Spire.Doc for .NET. Этот API позволяет разработчикам легко управлять созданием, форматированием и манипуляцией документами.

Бесплатный API для создания документов Word

Бесплатный Spire.Doc — это удобная библиотека, которая позволяет разработчикам создавать, читать и изменять документы Word без необходимости установки Microsoft Office. Она поддерживает широкий спектр функций, включая добавление текста, изображений, списков и таблиц, что делает ее универсальным выбором для приложений .NET.

Библиотеку можно установить через NuGet с помощью команды:

PM> NuGet\Install-Package FreeSpire.Doc

Добавление заголовка, подзаголовков и абзаца в Word

Чтобы добавить заголовок, подзаголовки и абзацы в документ Word, вы в основном используете классы Document и Section. Метод AddParagraph() создает новые абзацы, а AppendText() позволяет вставлять текст в эти абзацы. Вы можете применять различные встроенные стили (такие как заголовки и подзаголовки) для соответствующего форматирования этих элементов. Кроме того, можно создавать пользовательские стили абзацев, чтобы контролировать такие атрибуты текста, как шрифт и размер.

Вот как добавить заголовок, подзаголовки и абзацы в документ Word с использованием бесплатного Spire.Doc:

using Spire.Doc; using Spire.Doc.Documents; using System.Drawing;  namespace CreateSimpleWordDocument {     class Program     {         static void Main(string[] args)         {             // Создайте объект Document             Document document = new Document();              // Добавьте раздел             Section section = document.AddSection();  // Установите поля страницы             section.PageSetup.Margins.All = 60f;              // Добавьте заголовок             Paragraph title_para = section.AddParagraph();             title_para.AppendText("Это заголовок");             title_para.ApplyStyle(BuiltinStyle.Title);              // Добавьте подзаголовки             Paragraph heading_one = section.AddParagraph();             heading_one.AppendText("Это подзаголовок 1");             heading_one.ApplyStyle(BuiltinStyle.Heading1);              Paragraph heading_two = section.AddParagraph();             heading_two.AppendText("Это подзаголовок 2");             heading_two.ApplyStyle(BuiltinStyle.Heading2);              Paragraph heading_three = section.AddParagraph();             heading_three.AppendText("Это подзаголовок 3");             heading_three.ApplyStyle(BuiltinStyle.Heading3);              Paragraph heading_four = section.AddParagraph();             heading_four.AppendText("Это подзаголовок 4");             heading_four.ApplyStyle(BuiltinStyle.Heading4);              // Добавьте абзац             Paragraph normal_para = section.AddParagraph();             normal_para.AppendText("Это абзац.");              // Настройте стиль абзаца             ParagraphStyle style = new ParagraphStyle(document);             style.Name = "paraStyle";             style.CharacterFormat.FontName = "Arial";             style.CharacterFormat.FontSize = 13f;             style.CharacterFormat.TextColor = Color.Brown;             document.Styles.Add(style);              // Примените стиль к абзацу             normal_para.ApplyStyle("paraStyle");              // Сохраните документ             document.SaveToFile("CreateWordDocument.docx", FileFormat.Docx);              // Освободите ресурсы             document.Dispose();         }     } }

Добавление изображения в Word

Вставка изображений в документ Word включает использование метода AppendPicture(), который позволяет добавить картинку в конкретный абзац. Вы должны загрузить изображение из файла, удостоверившись, что файл доступен. Этот метод помогает улучшить визуальную привлекательность документа, бесшовно интегрируя графику.

Вот как вставить изображение с использованием бесплатного Spire.Doc:

using Spire.Doc; using Spire.Doc.Documents; using System.Drawing;  namespace AddImage {     class Program     {         static void Main(string[] args)         {             // Создайте объект Document             Document document = new Document();              // Добавьте раздел             Section section = document.AddSection();              // Установите поля страницы             section.PageSetup.Margins.All = 60f;              // Добавьте абзац             Paragraph image_para = section.AddParagraph();              // Вставьте изображение             image_para.AppendPicture(Image.FromFile("C:\\Users\\Administrator\\Desktop\\logo.png"));                    // Сохраните документ             document.SaveToFile("AddImage.docx", FileFormat.Docx);              // Освободите ресурсы             document.Dispose();         }     } }

Добавление списка в Word

Чтобы создать списки в вашем документе, вы можете использовать класс ListStyle для определения внешнего вида вашего списка (например, маркированного или нумерованного). Метод ApplyStyle() используется для абзацев, чтобы связать их с определенным стилем списка, позволяя легко форматировать несколько элементов последовательно. Эта функция особенно полезна для четкой и эффективной организации информации.

Ниже приведен пример того, как добавить маркированный список:

using Spire.Doc; using Spire.Doc.Documents;  namespace AddList {     class Program     {         static void Main(string[] args)         {             // Создайте объект документа             Document document = new Document();              // Добавьте раздел             Section section = document.AddSection();              // Установите поля страницы             section.PageSetup.Margins.All = 60f;              // Создайте стиль маркированного списка             ListStyle listStyle = new ListStyle(document, ListType.Bulleted);             listStyle.Name = "маркированныйСписок";             listStyle.Levels[0].BulletCharacter = "\x00B7";             listStyle.Levels[0].CharacterFormat.FontName = "Symbol";             listStyle.Levels[0].TextPosition = 20;             document.ListStyles.Add(listStyle);              // Добавьте абзац             Paragraph paragraph = section.AddParagraph();             paragraph.AppendText("Фрукты:");             paragraph.Format.AfterSpacing = 5f;              // Добавьте абзац и примените к нему стиль маркированного списка             paragraph = section.AddParagraph();             paragraph.AppendText("Структура данных");             paragraph.ListFormat.ApplyStyle(listStyle.Name);             paragraph.ListFormat.ListLevelNumber = 0;              // Добавьте еще пять абзацев и примените к ним стиль маркированного списка             paragraph = section.AddParagraph();             paragraph.AppendText("Яблоко");             paragraph.ListFormat.ApplyStyle(listStyle.Name);             paragraph.ListFormat.ListLevelNumber = 0;              paragraph = section.AddParagraph();             paragraph.AppendText("Банан");             paragraph.ListFormat.ApplyStyle(listStyle.Name);             paragraph.ListFormat.ListLevelNumber = 0;              paragraph = section.AddParagraph();             paragraph.AppendText("Арбуз");             paragraph.ListFormat.ApplyStyle(listStyle.Name);             paragraph.ListFormat.ListLevelNumber = 0;              paragraph = section.AddParagraph();             paragraph.AppendText("Манго");             paragraph.ListFormat.ApplyStyle("маркированныйСписок");             paragraph.ListFormat.ListLevelNumber = 0;              // Сохраните документ в файл             document.SaveToFile("AddList.docx", FileFormat.Docx);              // Освободите ресурсы             document.Dispose();         }     } }

Добавление таблицы в Word

Создание таблиц включает использование метода AddTable(), где вы можете указать количество строк и столбцов с помощью ResetCells(). После создания таблицы вы можете заполнять отдельные ячейки, используя метод AddParagraph() для вставки текста. Кроме того, метод AutoFit() может быть использован для настройки макета таблицы в зависимости от содержимого, обеспечивая аккуратное представление ваших данных.

Вот как создать таблицу в вашем документе:

using Spire.Doc;  namespace AddTable {     class Program     {         static void Main(string[] args)         {             // Создайте объект документа             Document document = new Document();              // Добавьте раздел             Section section = document.AddSection();              // Установите поля страницы             section.PageSetup.Margins.All = 60f;              // Добавьте таблицу             Table table = section.AddTable(true);              // Установите количество строк и столбцов             table.ResetCells(2, 3);              // Запишите данные в ячейки             table[0, 0].AddParagraph().AppendText("Продукт");             table[0, 1].AddParagraph().AppendText("Цена за единицу");             table[0, 2].AddParagraph().AppendText("Количество");             table[1, 0].AddParagraph().AppendText("IPhone 16 Pro Max");             table[1, 1].AddParagraph().AppendText("$799");             table[1, 2].AddParagraph().AppendText("100");              // Автоматическая подгонка содержимого ячеек             table.AutoFit(AutoFitBehaviorType.AutoFitToContents);              // Сохраните документ в файл             document.SaveToFile("AddTable.docx", FileFormat.Docx);              // Освободите ресурсы             document.Dispose();         }     } }

Заключение

В этой статье мы рассмотрели процесс создания документа Word с использованием бесплатного API Spire.Doc в C#. С его простыми методами для добавления текста, изображений, списков и таблиц Spire.Doc оказывается мощным инструментом для разработчиков, стремящихся автоматизировать создание документов.

Кроме этих функций, библиотека также поддерживает добавление многих других элементов, таких как гиперссылки, фигуры, текстовые поля и комментарии, что делает ее надежным решением для генерации профессиональных документов Word программно. Независимо от того, нужны ли вам отчеты, счета-фактуры или другие документы, Spire.Doc предлагает комплексный набор инструментов для ваших проектов разработки.


ссылка на оригинал статьи https://habr.com/ru/articles/896414/