How to Extract Text, Images, and Metadata from Word Documents in .NET
Text, Bilder und Metadaten aus Word-Dokumenten zu extrahieren ist für die Dokumentanalyse und Verarbeitung unerlässlich. Aspose.Words für .NET ermöglicht Entwickler programmatisch Dokumentinhalt und Eigenschaften für verschiedene Verwendungsfälle wie Indexierung, Archivierung oder Content Transformation.
Voraussetzung
- Install the .mit .NET SDK .
- Fügen Sie das Aspose.Words NuGet Paket hinzu:
dotnet add package Aspose.Words
- Erstellung eines Textdokuments (
document.docx
) mit Text, Bilder und Metadaten.
Schritt für Schritt Guide zum Extrahieren von Inhalten aus Word-Dateien
1. Laden Sie das Wortdokument
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
}
}
Erklärung: Dieser Code laden das angegebenes Word-Dokument in das Gedächtnis für weitere Verarbeitung.
2. Text aus dem Dokument zu extrahieren
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
}
}
Erklärung: Dieser Code extrahiert alle Textinhalte aus dem hochgeladenen Word-Dokument und druckt es auf die Konsole.
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("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
}
}
Erklärung: Dieser Code extrahiert und druckt den Titel, den Autor und den Erstellungsdatum der Metadaten aus dem Word-Dokument.
4. Entfernen von Bildern aus dem Dokument
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.");
}
}
Erklärung: Dieser Code extrahiert alle Bilder aus dem Word-Dokument und speichert sie als PNG-Dateien im Projekt-Dokument.
5. Die Lösung testen
- Ensure
document.docx
is in the project directory. - Laden Sie das Programm aus und überprüfen Sie:- Text in der Konsole-Ausgabe.
- Metadata Details gedruckt.
- Die extrahierten Bilder sind in der Projektmappe gespeichert.
Wie man auf wichtigen Plattformen implementiert und läuft
Windows
- Installieren Sie die .NET Runtime und implementieren Sie die Anwendung.
- Prüfen Sie die Anwendung, indem Sie sie über die Befehllinie ausführen.
Linux
- Installieren Sie die .NET Runtime.
- Verwenden Sie Terminalkommandos, um die Anwendung auszuüben oder sie auf einem Server zu verwalten.
MacOS
- Laden Sie die Anwendung mit Kestrel aus oder implementieren Sie sie auf einem Cloud-Dienst.
Gemeinsame Probleme und Fixes
Bilder, die nicht extrahiert wurden:- Stellen Sie sicher, dass das Dokument eingebettete Bilder und nicht äußerlich verbundene Bilder enthält.
Metadaten verschwinden:- Stellen Sie sicher, dass das Dokument Metadatenigenschaften wie Titel oder Autor Set hat.
Lange Dateiverarbeitung:- Verwenden Sie eine Speichereffiziente Ansatz, z. B. die Verarbeitung bestimmter Abschnitte des Dokuments.
Mit diesem Leitfaden können Sie wertvolle Inhalte aus Word-Dokumenten mit Aspose.Words für .NET programmatisch extrahieren.