Як витягти текст, зображення та метадані з документів Word у .NET
Витягування тексту, зображень та метаданих з документів Word є важливим для аналізу та обробки документів. За допомогою Aspose.Words для .NET розробники можуть програмно отримувати вміст документів та властивості для різних випадків використання, таких як індексація, архівування або перетворення вмісту.
Передумови
- Встановіть .NET SDK.
- Додайте пакет Aspose.Words NuGet:
dotnet add package Aspose.Words
- Підготуйте документ Word (
document.docx
) з текстом, зображеннями та метаданими.
Покрокова інструкція з витягування вмісту з файлів Word
1. Завантажте документ Word
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// Крок 1: Завантажте документ Word
string filePath = "document.docx";
Document doc = new Document(filePath);
// Кроки 2, 3 і 4 будуть додані нижче
}
}
Пояснення: Цей код завантажує вказаний документ Word в пам’ять для подальшої обробки.
2. Витягніть текст з документа
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// Крок 2: Витягти текст
string text = doc.GetText();
Console.WriteLine("Витягнутий текст: " + text);
// Кроки 3 і 4 будуть додані нижче
}
}
Пояснення: Цей код витягує весь текстовий вміст з завантаженого документа Word і виводить його в консоль.
3. Витягніть метадані з документа
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
string text = doc.GetText();
Console.WriteLine("Витягнутий текст: " + text);
// Крок 3: Витягти метадані
Console.WriteLine("Назва: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Автор: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Дата створення: " + doc.BuiltInDocumentProperties.CreatedTime);
// Крок 4 буде додано нижче
}
}
Пояснення: Цей код витягує та виводить назву, автора та дату створення метаданих з документа Word.
4. Витягніть зображення з документа
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
string text = doc.GetText();
Console.WriteLine("Витягнутий текст: " + text);
Console.WriteLine("Назва: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Автор: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Дата створення: " + doc.BuiltInDocumentProperties.CreatedTime);
// Крок 4: Витягти зображення
int imageCount = 0;
foreach (var shape in doc.GetChildNodes(NodeType.Shape, true))
{
if (shape is Shape { HasImage: true } imageShape)
{
string imageFilePath = $"Image_{++imageCount}.png";
imageShape.ImageData.Save(imageFilePath);
Console.WriteLine($"Збережено зображення: {imageFilePath}");
}
}
Console.WriteLine("Витягування вмісту завершено.");
}
}
Пояснення: Цей код витягує всі зображення з документа Word і зберігає їх як файли PNG у каталозі проекту.
5. Протестуйте рішення
- Переконайтеся, що
document.docx
знаходиться в каталозі проекту. - Запустіть програму та перевірте:
- Витягнутий текст у виводі консолі.
- Виведені деталі метаданих.
- Витягнуті зображення, збережені в папці проекту.
Як розгорнути та запустити на основних платформах
Windows
- Встановіть .NET runtime та розгорніть застосунок.
- Протестуйте застосунок, запустивши його через командний рядок.
Linux
- Встановіть .NET runtime.
- Використовуйте команди терміналу для виконання застосунку або розмістіть його на сервері.
macOS
- Запустіть застосунок, використовуючи Kestrel, або розгорніть його на хмарній службі.
Загальні проблеми та їх вирішення
- Зображення не витягнуті:
- Переконайтеся, що документ містить вбудовані зображення, а не зовнішні посилання.
- Відсутні метадані:
- Перевірте, чи має документ властивості метаданих, такі як Назва або Автор.
- Обробка великих файлів:
- Використовуйте підхід, що економить пам’ять, наприклад, обробляйте конкретні розділи документа.
З цим посібником ви можете програмно витягувати цінний вміст з документів Word, використовуючи Aspose.Words для .NET.