Как стать автором
Обновить

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

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.5K
  • Обзор

  • Бесплатный 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 предлагает комплексный набор инструментов для ваших проектов разработки.

Теги:
Хабы:
+3
Комментарии5

Публикации

Истории

Работа

.NET разработчик
49 вакансий

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область