Извлечение изображений из документов Word с помощью C#

Изображения играют важную роль для иллюстрации ключевой информации в документах Word. Более того, они делают документ более привлекательным и улучшают его презентацию. Как программист, вы можете получить работу по извлечению изображений, встроенных в документы Word DOCX или DOC. Для этого в этой статье рассказывается, как программно извлекать изображения из документов Word с помощью C#. Кроме того, вы увидите, как сохранить извлеченные изображения в нужное место.

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

Для извлечения изображений из документов MS Word DOCX/DOC мы будем использовать Aspose.Words for .NET. Это мощный и широко используемый API для создания документов Word и управления ими. Вы можете скачать библиотеку DLL API и добавить ссылку на нее в свое приложение. Кроме того, вы можете установить его напрямую из NuGet с помощью консоли диспетчера пакетов.

PM> Install-Package Aspose.Words

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

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

  • Загрузите файл Word, используя класс Document.
  • Получите все фигуры с изображениями в IEnumerable объекта с помощью метода Document.GetChildNodes(NodeType.Shape, Boolean).
  • Прокрутите полученные фигуры.
  • В каждой итерации извлекайте изображение и сохраняйте его с помощью метода Shape.ImageData.Save(string).

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

// Загрузите документ Word.
Document doc = new Document("Document.docx");

// Узлы формы с установленным флагом «HasImage» содержат и отображают изображения.
IEnumerable<Shape> shapes = doc.GetChildNodes(NodeType.Shape, true)
    .OfType<Shape>().Where(s => s.HasImage);
int imageIndex = 0;

// Цикл по фигурам.
foreach (Shape shape in shapes)
{
    // Сохраняйте изображения.
    string imageFileName =
        $"Image_{imageIndex}{FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType)}";
    shape.ImageData.Save(imageFileName);
    imageIndex++;
}

Попробуйте Aspose.Words для .NET бесплатно

Вы можете получить бесплатную временную лицензию, чтобы попробовать Aspose.Words для .NET без каких-либо ограничений. Получите временную лицензию сейчас.

Вывод

Изображения стали неотъемлемой частью документов Word, которые делают содержимое более привлекательным. Таким образом, Aspose.Words для .NET предоставляет широкий набор функций для добавления изображений в документы Word и управления ими.

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

Смотрите также

Совет: если вам когда-нибудь понадобится получить документ Word из презентации PowerPoint, вы можете использовать конвертер Aspose Presentation to Word Document.