Автоматизация Word на C# .NET

Вы ищете решение .NET Word Automation для создания и обработки текстовых документов на C#? Вы хотите программно создавать, редактировать/изменять и преобразовывать документы Word, не используя MS Office? Давайте попробуем Aspose.Words for .NET API, который предоставляет полный набор функций для создания документов MS Word (.doc, .docx и т. д.) с использованием C# в ваших приложениях .NET.

Автоматизация документов MS Word и создание отчетов пользуются большим спросом у предприятий. Aspose.Words for .NET — это комплексное и многофункциональное решение для автоматизации Word для создания, редактирования или анализа документов Word в таких случаях. В этой статье рассматриваются все основные функции, необходимые для создания документов Word и управления ими программными средствами с помощью C#. Прочитав эту статью, вы сможете:

Создание документов Word — C# Word Automation API

Aspose.Words для .NET DLL можно скачать здесь. Другой вариант — установить его через диспетчер пакетов NuGet или консоль диспетчера пакетов в Visual Studio.

Использование диспетчера пакетов NuGet

C# .NET Библиотека автоматизации Word

Использование консоли диспетчера пакетов

PM> Install-Package Aspose.Words

Создайте документ Word с помощью C#

Давайте начнем наше путешествие с создания нового документа Word с помощью Aspose.Words для .NET. Класс DocumentBuilder API содержит все методы и свойства для создания документов Word с нуля. В сочетании с классом Document DocumentBuilder поддерживает вставку таких элементов, как текст/абзацы, флажки, таблицы, списки, изображения и другие объекты, которые могут содержаться в документе Word. Кроме того, вы можете указать шрифт и другие параметры форматирования, используя этот класс.

Ниже приведены шаги для создания документа Word с использованием класса DocumentBuilder.

  • Создайте новый объект документа.
  • Создайте новый объект DocumentBuilder и инициализируйте его с помощью объекта Document.
  • Вставка/запись элементов с помощью объекта DocumentBuilder.
  • Сохраните документ методом Document.Save.

В следующем примере кода показано, как создать документ Word DOCX с помощью C#.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Укажите форматирование шрифта
Font font = builder.Font;
font.Size = 32;
font.Bold = true;
font.Color = System.Drawing.Color.Black;
font.Name = "Arial";
font.Underline = Underline.Single;

// Вставить текст
builder.Writeln("This is the first page.");
builder.Writeln();

// Изменить форматирование следующих элементов.
font.Underline = Underline.None;
font.Size = 10;
font.Color = System.Drawing.Color.Blue;

builder.Writeln("This following is a table");
// Вставить таблицу
Table table = builder.StartTable();
// Вставить ячейку
builder.InsertCell();
// Используйте фиксированную ширину столбцов.
table.AutoFit(AutoFitBehavior.AutoFitToContents);
builder.CellFormat.VerticalAlignment = CellVerticalAlignment.Center;
builder.Write("This is row 1 cell 1");
// Вставить ячейку
builder.InsertCell();
builder.Write("This is row 1 cell 2");
builder.EndRow();
builder.InsertCell();
builder.Write("This is row 2 cell 1");
builder.InsertCell();
builder.Write("This is row 2 cell 2");
builder.EndRow();
builder.EndTable();
builder.Writeln();

// Вставить изображение
builder.InsertImage("image.png");
// Вставить разрыв страницы 
builder.InsertBreak(BreakType.PageBreak);             
// все элементы после разрыва страницы будут вставлены на следующую страницу.

// Сохраните документ
doc.Save("Document.docx");

Ниже приведен документ, который мы получаем после выполнения приведенного выше кода.

Создать документ Word в C# .NET

Посетите эти статьи, чтобы узнать больше об элементах, которые можно добавить в документ Word с помощью Aspose.Words для .NET.

Редактировать документ Word в C#

Вы также можете редактировать или изменять существующие документы Word, используя Aspose.Words для .NET. Классы объектной модели документа Aspose.Words позволяют вам получать доступ и изменять элементы документа, а также их форматирование. DOM на самом деле является представлением документа в памяти. Чтобы понять представление документа в виде DOM, см. Обзор DOM.

Давайте теперь посмотрим, как редактировать существующий элемент в документе Word. Предположим, нам нужно обновить текст «Это первая страница». в документе, который мы недавно создали. Поскольку это первый абзац в первом разделе документа, мы можем получить к нему доступ, указав индекс первого раздела и первого абзаца. В следующем примере кода показано, как изменить абзац в документе Word с помощью C#.

// Загрузить документ
Document doc = new Document("Document.docx");
DocumentBuilder builder = new DocumentBuilder(doc);
// Доступ к абзацу
var paragraph=doc.Sections[0].Body.Paragraphs[0].Runs[0];
paragraph.Text = "This is updated text";  
// Сохраните документ
doc.Save("Document_updated.docx");

Ниже приведен обновленный документ Word.

Автоматизация Word в C# .NET

Преобразование документа Word в другие форматы на С#

Наряду с созданием и управлением документами Word Aspose.Words для .NET также позволяет преобразовывать документ в другие форматы, включая (но не ограничиваясь ими) PDF, XPS, EPUB, HTML и форматы изображений, такие как BMP, PNG или JPEG. В следующем примере кода показано, как преобразовать документ Word в PDF на C#.

Document doc = new Document("word.docx");
// Обеспечение совместимости PDFSaveOption с PDF17
PdfSaveOptions options = new PdfSaveOptions();
options.Compliance = PdfCompliance.Pdf17;
// Преобразование Word в PDF
doc.Save("output.pdf", options);

Посетите эту статью, чтобы узнать, как преобразовать документ Word в другие форматы.

Разобрать документ Word на C#

Вы также можете проанализировать документ Word, извлекая его содержимое как обычный текст. В следующем примере кода показано, как извлечь текст из документа Word и сохранить его в файл .txt.

// Загрузите документ с диска.
Document doc = new Document("document.docx");
// Сохранить как обычный текст 
doc.Save("output.txt");

Вывод

В этой статье вы увидели, как создавать или редактировать документы MS Word DOC/DOCX с помощью C#. Кроме того, вы узнали, как программно преобразовывать или анализировать документы MS Word. Посетите документацию Aspose.Words для .NET, чтобы получить полное руководство разработчика. Если вас что-то смущает, сообщите нам об этом через наш форум.

Статьи по Теме