Jak wyodrębnić tekst, obrazy i metadane z dokumentów Word w .NET
Ekstrakcja tekstu, obrazów i metadanych z dokumentów Word jest niezbędna do analizy i przetwarzania dokumentów. Dzięki Aspose.Words dla .NET, deweloperzy mogą programowo pobierać zawartość dokumentu oraz właściwości do różnych zastosowań, takich jak indeksowanie, archiwizowanie czy transformacja treści.
Wymagania wstępne
- Zainstaluj .NET SDK.
- Dodaj pakiet NuGet Aspose.Words:
dotnet add package Aspose.Words
- Przygotuj dokument Word (
document.docx
) z tekstem, obrazami i metadanymi.
Przewodnik krok po kroku dotyczący ekstrakcji zawartości z plików Word
1. Załaduj dokument Word
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// Krok 1: Załaduj dokument Word
string filePath = "document.docx";
Document doc = new Document(filePath);
// Kroki 2, 3 i 4 zostaną dodane poniżej
}
}
Wyjaśnienie: Ten kod ładuje określony dokument Word do pamięci w celu dalszego przetwarzania.
2. Ekstrakcja tekstu z dokumentu
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// Krok 2: Ekstrakcja tekstu
string text = doc.GetText();
Console.WriteLine("Wyekstrahowany tekst: " + text);
// Kroki 3 i 4 zostaną dodane poniżej
}
}
Wyjaśnienie: Ten kod wyodrębnia całą zawartość tekstową z załadowanego dokumentu Word i wypisuje ją na konsolę.
3. Ekstrakcja metadanych z dokumentu
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("Wyekstrahowany tekst: " + text);
// Krok 3: Ekstrakcja metadanych
Console.WriteLine("Tytuł: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Autor: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Data utworzenia: " + doc.BuiltInDocumentProperties.CreatedTime);
// Krok 4 zostanie dodany poniżej
}
}
Wyjaśnienie: Ten kod wyodrębnia i wypisuje tytuł, autora oraz datę utworzenia metadanych z dokumentu Word.
4. Ekstrakcja obrazów z dokumentu
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("Wyekstrahowany tekst: " + text);
Console.WriteLine("Tytuł: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Autor: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Data utworzenia: " + doc.BuiltInDocumentProperties.CreatedTime);
// Krok 4: Ekstrakcja obrazów
int imageCount = 0;
foreach (var shape in doc.GetChildNodes(NodeType.Shape, true))
{
if (shape is Shape { HasImage: true } imageShape)
{
string imageFilePath = $"Obraz_{++imageCount}.png";
imageShape.ImageData.Save(imageFilePath);
Console.WriteLine($"Zapisano obraz: {imageFilePath}");
}
}
Console.WriteLine("Ekstrakcja zawartości zakończona.");
}
}
Wyjaśnienie: Ten kod wyodrębnia wszystkie obrazy z dokumentu Word i zapisuje je jako pliki PNG w katalogu projektu.
5. Testowanie rozwiązania
- Upewnij się, że
document.docx
znajduje się w katalogu projektu. - Uruchom program i zweryfikuj:
- Wyekstrahowany tekst w wyjściu konsoli.
- Wydrukowane szczegóły metadanych.
- Wyekstrahowane obrazy zapisane w folderze projektu.
Jak wdrożyć i uruchomić na głównych platformach
Windows
- Zainstaluj środowisko uruchomieniowe .NET i wdroż aplikację.
- Przetestuj aplikację, uruchamiając ją z poziomu wiersza poleceń.
Linux
- Zainstaluj środowisko uruchomieniowe .NET.
- Użyj poleceń terminala, aby wykonać aplikację lub hostować ją na serwerze.
macOS
- Uruchom aplikację za pomocą Kestrel lub wdroż ją w usłudze chmurowej.
Typowe problemy i rozwiązania
- Obrazy nie zostały wyodrębnione:
- Upewnij się, że dokument zawiera osadzone obrazy, a nie obrazy powiązane zewnętrznie.
- Brak metadanych:
- Sprawdź, czy dokument ma ustawione właściwości metadanych, takie jak Tytuł lub Autor.
- Przetwarzanie dużych plików:
- Użyj podejścia oszczędzającego pamięć, na przykład przetwarzając określone sekcje dokumentu.
Dzięki temu przewodnikowi możesz programowo wyodrębniać cenną zawartość z dokumentów Word za pomocą Aspose.Words dla .NET.