В этой статье описывается, как извлекать изображения из документа Word на C#. В нем содержатся подробные сведения о конфигурации среды, необходимой для тестирования примера кода, пошаговой процедуры и исполняемого примера кода, который считывает файл DOCX и сохраняет каждое изображение в виде файла PNG. Он также содержит объяснение классов, методов и свойств, необходимых для извлечения всех изображений из документа Word на языке C#.
Шаги по извлечению изображений из Word на C#
- Установите среду для добавления Aspose.Words for .NET для извлечения изображений.
- Загрузите исходный файл Word с изображениями в объект класса Document.
- Получите набор фигур из документа Word с помощью метода GetChildNodes()
- Перебрать все элементы в коллекции фигур
- Сохраните каждую фигуру с изображением как отдельное изображение.
Эти шаги содержат подробные сведения о извлечении изображений из документа 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 с помощью С#.