Bagaimana untuk mengekstrak teks, imej, dan metadata daripada dokumen Word dalam .NET
Mengekstrak teks, imej, dan metadata daripada dokumen Word adalah penting untuk analisis dan pemprosesan dokumen. Aspose.Words untuk .NET , pemaju boleh secara programmatik mendapatkan kandungan dokumen dan sifat untuk pelbagai kes penggunaan, seperti pengindeksan, arkib, atau transformasi kandungan.
Prerequisites
- Instalasi yang Rangkaian SDK .
- Tambah pakej Aspose.Words NuGet:
dotnet add package Aspose.Words
- Memberi maklum balas kepada dokumen (
document.docx
) dengan teks, imej dan metadata.
Langkah-langkah panduan untuk mengekstrak kandungan daripada fail Word
1.Mengisi dokumen perkataan
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
}
}
Penerangan: Kod ini memuatkan dokumen Word yang ditetapkan ke dalam memori untuk pemprosesan lanjut.
2. mengekstrak teks daripada dokumen
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
}
}
Penerangan: Kod ini mengekstrak semua kandungan teks daripada dokumen Word yang dimuat naik dan mencetaknya ke konsol.
Mengekstrak metadata daripada dokumen
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
}
}
Penerangan: Kod ini mengekstrak dan mencetak tajuk, penulis, dan metadata tarikh penciptaan daripada dokumen Word.
4. mengekstrak imej daripada dokumen
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.");
}
}
Penerangan: Kod ini mengekstrak semua imej daripada dokumen Word dan menyimpannya sebagai fail PNG dalam direktori projek.
5. menguji penyelesaian
- Ensure
document.docx
Di dalam direktori projek. - Mengendalikan program dan mengesahkan:- Menarik teks dalam output konsol.
- Maklumat metadata dicetak.
- Gambar yang dikeluarkan disimpan dalam folder projek.
Bagaimana untuk melancarkan dan menjalankan pada platform utama
Windows
- Instal .NET runtime dan melancarkan aplikasi.
- Menguji aplikasi dengan menjalankan melalui garis perintah.
Linux
- Pastikan anda mempunyai .NET runtime.
- Gunakan perintah terminal untuk menjalankan aplikasi atau menyimpannya pada pelayan.
Makkah
- Melancarkan aplikasi menggunakan Kestrel atau meletakkannya pada perkhidmatan awan.
Masalah dan penyelesaian umum
Gambar yang tidak dikeluarkan :- Pastikan dokumen ini mengandungi imej tertanam dan tidak terhubung secara luaran.
Data yang hilang :- Pastikan dokumen mempunyai sifat metadata seperti Set Judul atau Penulis.
Pemprosesan fail yang panjang:- Gunakan pendekatan memori yang cekap, seperti memproses bahagian-bahagian tertentu dokumen.
Dengan panduan ini, anda boleh secara programmatik mengekstrak kandungan berharga daripada dokumen Word menggunakan Aspose.Words untuk .NET.