How to Extract Text, Images, and Metadata from Word Documents in .NET
Das Extrahieren von Text, Bildern und Metadaten aus Word-Dokumenten ist entscheidend für die Dokumentenanalyse und -verarbeitung. Mit Aspose.Words für .NET können Entwickler programmgesteuert Dokumenteninhalt und -eigenschaften für verschiedene Anwendungsfälle abrufen, wie z. B. Indizierung, Archivierung oder Inhaltsumwandlung.
Voraussetzungen
- Installieren Sie das .NET SDK.
- Fügen Sie das Aspose.Words NuGet-Paket hinzu:
dotnet add package Aspose.Words
- Bereiten Sie ein Word-Dokument (
document.docx
) mit Text, Bildern und Metadaten vor.
Schritt-für-Schritt-Anleitung zum Extrahieren von Inhalten aus Word-Dateien
1. Laden Sie das Word-Dokument
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// Schritt 1: Laden Sie das Word-Dokument
string filePath = "document.docx";
Document doc = new Document(filePath);
// Schritte 2, 3 und 4 werden unten hinzugefügt
}
}
Erläuterung: Dieser Code lädt das angegebene Word-Dokument in den Speicher zur weiteren Verarbeitung.
2. Text aus dem Dokument extrahieren
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// Schritt 2: Text extrahieren
string text = doc.GetText();
Console.WriteLine("Extrahierter Text: " + text);
// Schritte 3 und 4 werden unten hinzugefügt
}
}
Erläuterung: Dieser Code extrahiert den gesamten Textinhalt aus dem geladenen Word-Dokument und gibt ihn in der Konsole aus.
3. Metadaten aus dem Dokument extrahieren
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("Extrahierter Text: " + text);
// Schritt 3: Metadaten extrahieren
Console.WriteLine("Titel: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Autor: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Erstellungsdatum: " + doc.BuiltInDocumentProperties.CreatedTime);
// Schritt 4 wird unten hinzugefügt
}
}
Erläuterung: Dieser Code extrahiert und gibt den Titel, den Autor und das Erstellungsdatum der Metadaten aus dem Word-Dokument aus.
4. Bilder aus dem Dokument extrahieren
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("Extrahierter Text: " + text);
Console.WriteLine("Titel: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Autor: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Erstellungsdatum: " + doc.BuiltInDocumentProperties.CreatedTime);
// Schritt 4: Bilder extrahieren
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($"Bild gespeichert: {imageFilePath}");
}
}
Console.WriteLine("Inhalts-Extraktion abgeschlossen.");
}
}
Erläuterung: Dieser Code extrahiert alle Bilder aus dem Word-Dokument und speichert sie als PNG-Dateien im Projektverzeichnis.
5. Testen Sie die Lösung
- Stellen Sie sicher, dass sich
document.docx
im Projektverzeichnis befindet. - Führen Sie das Programm aus und überprüfen Sie:
- Den extrahierten Text in der Konsolenausgabe.
- Die gedruckten Metadaten.
- Die im Projektordner gespeicherten Bilder.
So setzen Sie es auf und führen es auf den wichtigsten Plattformen aus
Windows
- Installieren Sie die .NET-Laufzeit und setzen Sie die Anwendung ein.
- Testen Sie die Anwendung, indem Sie sie über die Befehlszeile ausführen.
Linux
- Installieren Sie die .NET-Laufzeit.
- Verwenden Sie Terminalbefehle, um die Anwendung auszuführen oder sie auf einem Server zu hosten.
macOS
- Führen Sie die Anwendung mit Kestrel aus oder setzen Sie sie auf einem Cloud-Dienst ein.
Häufige Probleme und Lösungen
- Bilder nicht extrahiert:
- Stellen Sie sicher, dass das Dokument eingebettete Bilder und keine extern verlinkten enthält.
- Metadaten fehlen:
- Überprüfen Sie, ob das Dokument Metadaten wie Titel oder Autor gesetzt hat.
- Verarbeitung großer Dateien:
- Verwenden Sie einen speichereffizienten Ansatz, z. B. die Verarbeitung spezifischer Abschnitte des Dokuments.
Mit diesem Leitfaden können Sie programmgesteuert wertvolle Inhalte aus Word-Dokumenten mit Aspose.Words für .NET extrahieren.