Как да извлечете текст, изображения и метаданни от Word документи в .NET
Извличането на текст, изображения и метаданни от документи на Word е от съществено значение за анализ и обработка на документи. Aspose.Words за .NET, разработчиците могат програмно да получат съдържание на документ и свойства за различни случаи на употреба, като индексиране, архивиране или трансформация на съдържанието.
Предупреждения
- Install the .NET.
- Aspose.Words NuGet:
dotnet add package Aspose.Words
- Създаване на документ (
document.docx
с текст, изображения и метаданни.
Стъпка по стъпка ръководство за извличане на съдържание от Word файлове
1.Изтегляне на Word документ
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 в паметта за по-нататъшна обработка.
Изтегляне на текст от документа
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 документ.
Изтегляне на изображения от документа
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 Изпробвайте решението
- Ensure
document.docx
is in the project directory. - Извършете програмата и проверете:- Извлечен текст в изхода на конзолата.
- Подробности за печат на метаданни.
- Извлечени изображения, съхранени в папката за проекти.
Как да депонирате и изпълнявате на големи платформи
Windows
- Инсталирайте времето за изпълнение на .NET и изпълнете приложението.
- Тествайте приложението, като го изпълните чрез командната линия.
Линукс
- NET Runtime.
- Използвайте терминални команди, за да изпълните приложението или да го хоствате на сървър.
Макрос
- Извършете приложението с помощта на Kestrel или го въведете в облачна услуга.
Общи проблеми и фиксиране
Снимки, които не са извлечени:- Уверете се, че документът съдържа вградени изображения, а не външно свързани.
Недостатъчни метаданни:- Уверете се, че документът има метаданни свойства като заглавие или автор набор.
Разширено обработване на файлове:- Използвайте памет-ефективен подход, като например обработване на специфични секции на документа.
Word документи, като използвате Aspose.Words за .NET.