Cara Mengekstrak Teks, Gambar, dan Metadata dari Dokumen Word di .NET
Menarik teks, gambar, dan metadata dari dokumen Word sangat penting untuk analisis dan pemrosesan dokumen. Dengan Aspose.Words untuk .NET, pengembang dapat secara programatis mengambil konten dan properti dokumen untuk berbagai kasus penggunaan, seperti pengindeksan, pengarsipan, atau transformasi konten.
Prasyarat
- Instal .NET SDK.
- Tambahkan paket NuGet Aspose.Words:
dotnet add package Aspose.Words
- Siapkan dokumen Word (
document.docx
) dengan teks, gambar, dan metadata.
Panduan Langkah-demi-Langkah untuk Menarik Konten dari File Word
1. Muat Dokumen Word
using System;
using Aspose.Words;
class Program
{
static void Main()
{
// Langkah 1: Muat dokumen Word
string filePath = "document.docx";
Document doc = new Document(filePath);
// Langkah 2, 3, dan 4 akan ditambahkan di bawah
}
}
Penjelasan: Kode ini memuat dokumen Word yang ditentukan ke dalam memori untuk pemrosesan lebih lanjut.
2. Ekstrak Teks dari Dokumen
using System;
using Aspose.Words;
class Program
{
static void Main()
{
string filePath = "document.docx";
Document doc = new Document(filePath);
// Langkah 2: Ekstrak Teks
string text = doc.GetText();
Console.WriteLine("Teks yang Diekstrak: " + text);
// Langkah 3 dan 4 akan ditambahkan di bawah
}
}
Penjelasan: Kode ini mengekstrak semua konten teks dari dokumen Word yang dimuat dan mencetaknya ke konsol.
3. Ekstrak Metadata dari 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("Teks yang Diekstrak: " + text);
// Langkah 3: Ekstrak Metadata
Console.WriteLine("Judul: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Penulis: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Tanggal Dibuat: " + doc.BuiltInDocumentProperties.CreatedTime);
// Langkah 4 akan ditambahkan di bawah
}
}
Penjelasan: Kode ini mengekstrak dan mencetak metadata judul, penulis, dan tanggal pembuatan dari dokumen Word.
4. Ekstrak Gambar dari 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("Teks yang Diekstrak: " + text);
Console.WriteLine("Judul: " + doc.BuiltInDocumentProperties.Title);
Console.WriteLine("Penulis: " + doc.BuiltInDocumentProperties.Author);
Console.WriteLine("Tanggal Dibuat: " + doc.BuiltInDocumentProperties.CreatedTime);
// Langkah 4: Ekstrak Gambar
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($"Gambar Disimpan: {imageFilePath}");
}
}
Console.WriteLine("Ekstraksi konten selesai.");
}
}
Penjelasan: Kode ini mengekstrak semua gambar dari dokumen Word dan menyimpannya sebagai file PNG di direktori proyek.
5. Uji Solusi
- Pastikan
document.docx
ada di direktori proyek. - Jalankan program dan verifikasi:
- Teks yang diekstrak di output konsol.
- Rincian metadata tercetak.
- Gambar yang diekstrak disimpan di folder proyek.
Cara Men-deploy dan Menjalankan di Platform Utama
Windows
- Instal runtime .NET dan deploy aplikasi.
- Uji aplikasi dengan menjalankannya melalui command line.
Linux
- Instal runtime .NET.
- Gunakan perintah terminal untuk mengeksekusi aplikasi atau host di server.
macOS
- Jalankan aplikasi menggunakan Kestrel atau deploy di layanan cloud.
Masalah Umum dan Solusi
- Gambar Tidak Diekstrak:
- Pastikan dokumen berisi gambar yang disematkan dan bukan yang terhubung secara eksternal.
- Metadata Hilang:
- Verifikasi bahwa dokumen memiliki properti metadata seperti Judul atau Penulis yang diatur.
- Pemrosesan File Besar:
- Gunakan pendekatan yang efisien dalam memori, seperti memproses bagian tertentu dari dokumen.
Dengan panduan ini, Anda dapat secara programatis mengekstrak konten berharga dari dokumen Word menggunakan Aspose.Words untuk .NET.