Как извлечь текст, изображения и метаданные из Word-документов в .NET
Экстракция текста, изображений и метаданных из документов Word необходима для анализа и обработки документов. Aspose.Words для .NET позволяет разработчикам программически получать содержание и свойства документов для различных случаев использования, таких как индексирование, архивирование или контент-трансформация.
Предупреждения
- Инсталляция The .NET SDK .
- Добавьте пакет Aspose.Words NuGet:
dotnet add package Aspose.Words
- Подготовка документа (
document.docx
с текстом, изображениями и метаданными.
Шаг за шагом Руководство по выводу контента из файлов Word
1.Загрузите документ слова
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// Step 1: Load the Word document
string filePath = "document.docx";
Document doc = new Document(filePath);
// Steps 2, 3, and 4 will be added below
}
}
Объяснение: Этот код загружает указанный документ Word в память для дальнейшей обработки.
2.Извлечение текста из документа
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// Step 2: Extract Text
string text = doc.GetText();
Console.WriteLine("Extracted Text: " + text);
// Steps 3 and 4 will be added below
}
}
Объяснение: Этот код выводит весь текст из загруженного Word-документа и печатает его на консоль.
Извлечение метаданных из документа
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("Extracted Text: " + text);
// Step 3: Extract Metadata
Console.WriteLine("Title: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Author: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Created Date: " + doc.BuiltInDocumentProperties.CreatedTime);
// Step 4 will be added below
}
}
Объяснение: Этот код выводит и печатает метаданные заголовка, автора и даты создания из документа 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("Extracted Text: " + text);
Console.WriteLine("Title: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Author: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Created Date: " + doc.BuiltInDocumentProperties.CreatedTime);
// Step 4: Extract Images
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($"Saved Image: {imageFilePath}");
}
}
Console.WriteLine("Content extraction completed.");
}
}
Объяснение: Этот код выводит все изображения из документа Word и сохраняет их в качестве файлов PNG в каталоге проекта.
5 Тест на решение
- Безопасность
document.docx
находится в директории проекта. - Проверьте программу и проверите:- Извлеченный текст в выходе консоли.
- Метаданные детали печатаются.
- Изображенные изображения сохранились в папке проекта.
Как развернуть и запустить на крупных платформах
Windows
- Настройка .NET Runtime и внедрение приложения.
- Проверьте приложение, запуская его через командную линию.
Линукс
- Настройка .NET Runtime.
- Используйте командные терминалы, чтобы выполнить приложение или разместить его на сервере.
МАКОС
- Запускайте приложение с помощью Kestrel или разместите его на облачном сервисе.
Общие проблемы и фиксации
Фотографии, не сделанные:- Убедитесь, что документ содержит встроенные изображения, а не внешне связанные.
Метаданные отсутствуют:- Убедитесь, что документ имеет метаданные свойства, такие как набор заголовка или автора.
Расширенная обработка файлов:- Используйте эффективный подход к памяти, например, обработку конкретных разделов документа.
С помощью этого руководства вы можете программически извлечь ценный контент из Word-документов с помощью Aspose.Words для .NET.