Hur man extraherar text, bilder och metadata från Word-dokument i .NET
Att extrahera text, bilder och metadata från Word-dokument är avgörande för dokumentanalys och bearbetning. Med Aspose.Words för .NET kan utvecklare programatiskt hämta dokumentinnehåll och egenskaper för olika användningsfall, såsom indexering, arkivering eller innehållstransformation.
Förutsättningar
- Installera .NET SDK.
- Lägg till Aspose.Words NuGet-paketet:
dotnet add package Aspose.Words
- Förbered ett Word-dokument (
document.docx
) med text, bilder och metadata.
Steg-för-steg-guide för att extrahera innehåll från Word-filer
1. Ladda Word-dokumentet
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// Steg 1: Ladda Word-dokumentet
string filePath = "document.docx";
Document doc = new Document(filePath);
// Steg 2, 3 och 4 kommer att läggas till nedan
}
}
Förklaring: Denna kod laddar det angivna Word-dokumentet i minnet för vidare bearbetning.
2. Extrahera text från dokumentet
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// Steg 2: Extrahera text
string text = doc.GetText();
Console.WriteLine("Extraherad text: " + text);
// Steg 3 och 4 kommer att läggas till nedan
}
}
Förklaring: Denna kod extraherar allt textinnehåll från det laddade Word-dokumentet och skriver ut det i konsolen.
3. Extrahera metadata från 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("Extraherad text: " + text);
// Steg 3: Extrahera metadata
Console.WriteLine("Titel: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Författare: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Skapat datum: " + doc.BuiltInDocumentProperties.CreatedTime);
// Steg 4 kommer att läggas till nedan
}
}
Förklaring: Denna kod extraherar och skriver ut titel, författare och skapandedatum från Word-dokumentet.
4. Extrahera bilder från 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("Extraherad text: " + text);
Console.WriteLine("Titel: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Författare: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Skapat datum: " + doc.BuiltInDocumentProperties.CreatedTime);
// Steg 4: Extrahera bilder
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($"Sparad bild: {imageFilePath}");
}
}
Console.WriteLine("Innehållsextraktion slutförd.");
}
}
Förklaring: Denna kod extraherar alla bilder från Word-dokumentet och sparar dem som PNG-filer i projektkatalogen.
5. Testa lösningen
- Se till att
document.docx
finns i projektkatalogen. - Kör programmet och verifiera:
- Extraherad text i konsolutdata.
- Metadata detaljer skrivna.
- Extraherade bilder sparade i projektmappen.
Hur man distribuerar och kör på stora plattformar
Windows
- Installera .NET-runtime och distribuera applikationen.
- Testa applikationen genom att köra den via kommandoraden.
Linux
- Installera .NET-runtime.
- Använd terminalkommandon för att köra applikationen eller värd den på en server.
macOS
- Kör applikationen med Kestrel eller distribuera den på en molntjänst.
Vanliga problem och lösningar
- Bilder inte extraherade:
- Se till att dokumentet innehåller inbäddade bilder och inte externa länkar.
- Metadata saknas:
- Verifiera att dokumentet har metadataegenskaper som Titel eller Författare inställda.
- Bearbetning av stora filer:
- Använd en minneseffektiv metod, såsom att bearbeta specifika avsnitt av dokumentet.
Med denna guide kan du programatiskt extrahera värdefullt innehåll från Word-dokument med hjälp av Aspose.Words för .NET.