Di posting sebelumnya, kami membahas cara mengekstrak gambar dari dokumen di Java. Hari ini, kita akan mencari untuk mencapai tujuan yang sama menggunakan C#. Jangan khawatir jika Anda belum mengunjungi pos terakhir. Pada artikel ini, kita akan belajar mengekstrak gambar secara terprogram dari dokumen PDF, Excel, PowerPoint, dan Word dalam aplikasi C# menggunakan penguraian dokumen .NET API.

Ekstrak Gambar dari Dokumen di .NET

Topik-topik berikut akan dibahas di sini:

Ekstraksi Gambar, Teks, dan Metadata .NET API

Parsing Dokumen dan Ekstrak Data di .NET

GroupDocs.Parser for .NET adalah penguraian dokumen dan ekstraksi data .NET API. Ini mendukung parsing dokumen dan ekstraksi gambar, teks, dan metadata dari dokumen pengolah kata, spreadsheet, presentasi, arsip, dan dokumen email. Di akhir artikel, format dokumen disebutkan yang didukung oleh API untuk ekstraksi gambar.

Pada artikel ini, kami akan menggunakan API ini, jadi saya akan merekomendasikan untuk mengunduh binarinya atau menginstal API dari NuGet untuk menyiapkan lingkungan.

Ekstrak Gambar dari Dokumen PDF di C#

Dokumen PDF untuk Mengekstrak Gambar

Anda dapat dengan mudah mengambil semua gambar dari dokumen PDF apa pun dengan mengikuti langkah-langkah sederhana ini.

  1. Buat instance objek kelas Parser dengan dokumen sumber.
  2. Panggil metode GetImages dari kelas Parser untuk mendapatkan koleksi semua gambar di objek PageImageArea.
  3. Ulangi PageImageArea untuk mendapatkan setiap gambar.
  4. Simpan gambar pada disk menggunakan metode Simpan dari PageImageArea.

Gambar yang diekstraksi dapat disimpan dalam format BMP, GIF, JPEG, PNG, dan WebP. Kode lengkap ditunjukkan di bawah ini untuk menunjukkan seluruh langkah.

// Ekstrak Gambar dari Word, Excel, PPT, PDF dalam C# menggunakan GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;
    // Ulangi gambar yang diambil
    foreach (PageImageArea image in images)
    {
        // Simpan Gambar dan cetak indeks halaman, persegi panjang dan tipe gambar:
        Console.WriteLine(string.Format("Page: {0}, R: {1}, Type: {2}", image.Page.Index, image.Rectangle, image.FileType));
        image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
        imageNumber++;
    }
}
Mengekstrak Gambar dari Dokumen menggunakan GroupDocs.Parser

Ekstrak Gambar dari File Word, Excel, PowerPoint di C#

Tidak terbatas pada format PDF saja, kami dapat mengambil semua gambar dari dokumen pengolah kata, spreadsheet, presentasi, dengan basis kode yang tidak berubah. Ubah saja jalur dokumen sumber dengan ekstensi file, dokumen Anda akan diuraikan untuk mengekstrak dan menyimpan semua gambar ke disk.

using (Parser parser = new Parser("path/document.docx")) // Word Document
// using (Parser parser = new Parser("path/document.xlsx")) // Excel Spreadhseet
// using (Parser parser = new Parser("path/document.pptx")) // Presentation
// using (Parser parser = new Parser("path/document.pdf")) // PDF Document

Ekstraksi Gambar dari Halaman Dokumen Tertentu di C#

Jika Anda ingin mengekstrak gambar dari halaman dokumen tertentu, itu dapat dilakukan dengan mudah menggunakan langkah-langkah dan kode C# yang disebutkan di bawah ini.

  • Dapatkan informasi tentang dokumen menggunakan metode GetDocumentInfo.
  • Dari informasi dokumen, keluarkan total PageCount dan informasi lainnya.
  • Gunakan metode GetImages(pageIndex) dan berikan indeks halaman target Anda ke sana.
  • Untuk menyimpan gambar yang diambil, telusuri koleksi gambar, dan simpan gambar satu per satu menggunakan metode Simpan.
// Ekstrak Gambar dari halaman tertentu Word, Excel, PowerPoint, PDF dalam C# menggunakan GroupDocs.Parser for .NET
using (Parser parser = new Parser("path/document.pdf"))
{
    // Dapatkan info dokumen
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;

    // Ulangi halaman
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // Cetak nomor halaman 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // Ulangi gambar. Mengabaikan null-check pada contoh
        foreach (PageImageArea image in parser.GetImages(pageIndex))
        {
            // Cetak persegi panjang dan jenis gambar
            Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
            image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
            imageNumber++;
        }
    }
}

Format yang Didukung untuk Ekstraksi Gambar di C#

Berikut adalah format dokumen yang didukung oleh GroupDocs.Parser for .NET API untuk ekstraksi gambar.

Jenis Dokumen Format File
Dokumen Pengolah Kata DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF
Spreadsheet XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, ANGKA
Presentasi PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP
Dokumen Portabel PDF
Email EML, EMLX, MSG
Arsip ZIP

Lebih lanjut tentang GroupDocs.Parser

Mari kita bicara lagi @ Forum Dukungan Gratis

Artikel Terkait