Как да извлечете изображения от 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 файл в C#

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 с помощта на C#.

 Български