Hvordan ta ut tekst, bilder og metadata fra Word-dokumenter i .NET
Utvinning av tekst, bilder og metadata fra Word-dokumenter er avgjørende for dokumentanalyse og behandling. Aspose.Words for .NET , kan utviklere programmatisk hente dokumentinnhold og egenskaper for ulike brukssaker, for eksempel indeksering, arkivering, eller innhold transformasjon.
Prerequisites
- Installere den Nett SDK .
- Legg til Aspose.Words NuGet pakke:
dotnet add package Aspose.Words
- Forbered et orddokument (
document.docx
med tekst, bilder og metadata.
Step-by-step guide for å trekke ut innhold fra Word-filer
1.Hold orddokumentet
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
}
}
Forklaring: Denne koden laster det spesifiserte Word-dokumentet inn i minnet for videre behandling.
2) Utveksle tekst fra dokumentet
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
}
}
Forklaring: Denne koden tar ut alt tekstinnholdet fra det lastede Word-dokumentet og trykker det på konsollen.
Utvinning av metadata fra dokumentet
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
}
}
Forklaring: Denne koden ekstraherer og skriver ut tittelen, forfatteren og metadata fra Word-dokumentet.
Utvinning av bilder fra dokumentet
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.");
}
}
Forklaring: Denne koden ekstraherer alle bilder fra Word-dokumentet og lagrer dem som PNG-filer i prosjektdialogen.
5 – Test løsningen
- Ensure
document.docx
Det er i prosjektdirektivet. - Utfør programmet og sjekk:- Tekst utvunnet i konsolutgangen.
- Detaljer av metadata skrives ut.
- Ekstrakte bilder lagret i prosjektmappen.
Hvordan sette opp og kjøre på store plattformer
Windows
- Installere .NET runtime og implementere applikasjonen.
- Test applikasjonen ved å kjøre den gjennom kommandelinjen.
Linux
- Installasjon av .NET runtime.
- Bruk terminalkommandoer for å kjøre appen eller lagre den på en server.
macos
- Kjør appen ved hjelp av Kestrel eller plassere den på en sky-tjeneste.
Vanlige problemer og fixer
** Bilder som ikke er utgitt** :- Sørg for at dokumentet inneholder innebygde bilder og ikke eksternt koblet.
*Metadata savnet *- Sørg for at dokumentet har metadata egenskaper som Title eller Author sett.
Lange filbehandling :- Bruk et minneeffektivt tilnærming, for eksempel å behandle bestemte deler av dokumentet.
Med denne guiden kan du programmatisk trekke verdifullt innhold fra Word-dokumenter ved hjelp av Aspose.Words for .NET.