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