Как извлечь изображения из документа Word в C#

В этой статье описывается, как извлекать изображения из документа Word на C#. В нем содержатся подробные сведения о конфигурации среды, необходимой для тестирования примера кода, пошаговой процедуры и исполняемого примера кода, который считывает файл DOCX и сохраняет каждое изображение в виде файла PNG. Он также содержит объяснение классов, методов и свойств, необходимых для извлечения всех изображений из документа Word на языке C#.

Шаги по извлечению изображений из Word на C#

  1. Установите среду для добавления Aspose.Words for .NET для извлечения изображений.
  2. Загрузите исходный файл Word с изображениями в объект класса Document.
  3. Получите набор фигур из документа Word с помощью метода GetChildNodes()
  4. Перебрать все элементы в коллекции фигур
  5. Сохраните каждую фигуру с изображением как отдельное изображение.

Эти шаги содержат подробные сведения о извлечении изображений из документа Word в C#. Сначала исходный файл Word загружается в объект класса Document, а затем из него осуществляется доступ к коллекции фигур с помощью метода GetChildNodes(), принимающего в качестве аргумента перечислитель NodeType.Shape. На следующем этапе эта коллекция повторяется, и каждая фигура проверяется на наличие изображения и, если найдена, сохраняется в виде отдельного файла изображения.

Код для извлечения изображений из файла Word на С#

using System;
using Aspose.Words;
using Aspose.Words.Drawing;
namespace AsposeProjects
{
class Program
{
static void Main(string[] args) // Main function to extract all the images from a Word document
{
// Initialize licenses
Aspose.Words.License licWords = new Aspose.Words.License();
licWords.SetLicense("Aspose.Total.lic");
// Load a document having images in it
Document wordDocument = new Document("WordFileWithImages.docx");
// Get collection of pictures from the Word document
NodeCollection allShapes = wordDocument.GetChildNodes(NodeType.Shape, true);
int index = 0;
// Iterate through all the pictures and save as a separate image file
foreach (Shape shape in allShapes)
{
if (shape.HasImage)
{
string imageFile = "Aspose_" + (index++).ToString() + "_" + shape.Name + ".png";
shape.ImageData.Save(imageFile);
}
}
Console.WriteLine("Done");
}
}
}

Этот код демонстрирует процесс извлечения изображений из документа Word на C#, который использует объект класса Document, имеющий различные функции перегрузки, поддерживающие множество функций, таких как установка кодировки, настройки шрифта, языковые настройки и многое другое. Точно так же вы можете получить другие типы дочерних узлов, используя метод GetChildNodes(), такие как разделы, верхний/нижний колонтитул, таблица, строка, ячейка и абзацы, и это лишь некоторые из них.

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

 Русский