Hur man extraherar text, bilder och metadata från Word-dokument i .NET
Att extrahera text, bilder och metadata från Word-dokument är nödvändigt för dokumentanalys och bearbetning. Aspose.Words för .NET, utvecklarna kan programmässigt hämta dokumentinnehåll och egenskaper för olika användningsområden, såsom indexering, arkivering eller innehållsomvandling.
förutsättningar
- Installera den .NET SDK .
- Lägg till Aspose.Words NuGet-paketet:
dotnet add package Aspose.Words
- Förbereda 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 upp Word-dokumentet
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
}
}
Förklaring: Denna kod laddar det angivna Word-dokumentet in 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);
// Step 2: Extract Text
string text = doc.GetText();
Console.WriteLine("Extracted Text: " + text);
// Steps 3 and 4 will be added below
}
}
Förklaring: Denna kod extraherar allt textinnehåll från det laddade Word-dokumentet och trycker det på 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("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
}
}
Förklaring: Denna kod extraherar och skriver ut rubriken, författaren och skapandet datum metadata 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("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.");
}
}
Förklaring: Denna kod extraherar alla bilder från Word-dokumentet och sparar dem som PNG-filer i projektdirektivet.
5.Testera lösningen
- Säkerhet
document.docx
är i projektdirektivet. - Kör programmet och verifiera:- Extraherad text i konsolutgången.
- Metadata detaljer tryckta.
- Extraherade bilder sparas i projektmappen.
Hur man plockar och kör på stora plattformar
Windows
- Installera .NET runtime och implementera appen.
- Testa appen genom att köra den via kommandolinjen.
Linux
- Installera .NET runtime.
- Använd terminalkommandon för att köra appen eller värd den på en server.
macos
- Kör appen med Kestrel eller distribuera den på en molntjänst.
Vanliga problem och fixar
Bilder som inte har tagits ut:- Se till att dokumentet innehåller inbäddade bilder och inte externa länkar.
Metadata saknas:- Kontrollera att dokumentet har metadataegenskaper som titel eller författare.
Lång filhantering:- Använd ett minneeffektivt tillvägagångssätt, till exempel bearbetning av specifika sektioner av dokumentet.
Med den här guiden kan du programmerat extrahera värdefullt innehåll från Word-dokument med Aspose.Words för .NET.