Önceki gönderide, Java’daki belgelerden görüntülerin nasıl çıkarılacağını tartıştık. Bugün, C# kullanarak aynı hedefe ulaşmaya çalışacağız. Son gönderiyi ziyaret etmediyseniz endişelenmeyin. Bu makalede, belge ayrıştırma .NET API’sini kullanarak bir C# uygulamasında PDF, Excel, PowerPoint ve Word belgelerinden programlı olarak resim çıkarmayı öğreneceğiz.

.NET'teki Belgelerden Görüntüleri Çıkarın

Burada aşağıdaki konular ele alınacaktır:

Resim, Metin ve Meta Veri Çıkarma .NET API

.NET'te Belgeleri Ayrıştırın ve Verileri Çıkarın

GroupDocs.Parser for .NET, belge ayrıştırma ve veri çıkarma .NET API’sidir. Belge ayrıştırmayı ve kelime işlem belgelerinden, elektronik tablolardan, sunumlardan, arşivlerden ve e-posta belgelerinden görüntülerin, metinlerin ve meta verilerin çıkarılmasını destekler. Makalenin sonunda, görüntü çıkarma için API tarafından desteklenen belge biçimleri bahsedilir.

Bu makalede, bu API’yi kullanacağız, bu nedenle ortamı hazırlamak için ikili dosyalarını indirmenizi veya NuGet API’sini yüklemenizi öneririm.

C# ile PDF Belgelerinden Görüntüleri Çıkarın

Görüntüleri Çıkarmak için PDF Belgesi

Bu basit adımları izleyerek tüm görüntüleri herhangi bir PDF belgesinden kolayca alabilirsiniz.

  1. Ayrıştırıcı sınıf nesnesini kaynak belgeyle somutlaştırın.
  2. PageImageArea nesnelerindeki tüm görüntülerin koleksiyonunu almak için Parser sınıfının GetImages yöntemini çağırın.
  3. Her görüntüyü elde etmek için PageImageArea üzerinde yineleme yapın.
  4. PageImageArea’nın Kaydet yöntemini kullanarak görüntüleri diske kaydedin.

Ayıklanan görüntüler BMP, GIF, JPEG, PNG ve WebP formatlarında kaydedilebilir. Kodun tamamı, tüm adımları göstermek için aşağıda gösterilmiştir.

// GroupDocs.Parser for .NET kullanarak C# dilinde Word, Excel, PPT, PDF'den Görüntüleri Çıkarın
using (Parser parser = new Parser("path/document.pdf"))
{
    IEnumerable<PageImageArea> images = parser.GetImages();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;
    // Alınan görüntüleri yineleyin
    foreach (PageImageArea image in images)
    {
        // Görüntüyü kaydedin ve sayfa dizini, dikdörtgen ve görüntü türünü yazdırın:
        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++;
    }
}
GroupDocs.Parser kullanılarak Belgeden Çıkarılan Görüntüler

C# ile Word, Excel, PowerPoint Dosyalarından Görüntüleri Çıkarın

Sadece PDF formatıyla sınırlı değil, değişmeyen kod tabanıyla kelime işlemci belgelerinden, elektronik tablolardan, sunumlardan tüm görüntüleri çıkarabiliriz. Sadece kaynak belge yolunu dosya uzantısıyla değiştirin, belgeniz tüm görüntüleri ayıklamak ve diske kaydetmek için ayrıştırılacaktır.

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

C#‘daki Belirli Belge Sayfasından Görüntü Çıkarma

Belgenin belirli bir sayfasından resim çıkarmak istiyorsanız, aşağıda belirtilen adımlar ve C# kodu kullanılarak kolayca yapılabilir.

  • GetDocumentInfo yöntemini kullanarak belge hakkındaki bilgileri alın.
  • Belge bilgilerinden toplam PageCount ve diğer bilgileri çıkarın.
  • GetImages(pageIndex) yöntemini kullanın ve hedef sayfa dizininizi ona iletin.
  • Alınan görüntüleri kaydetmek için, görüntü koleksiyonunu gezin ve Kaydet yöntemini kullanarak tek tek görüntüyü kaydedin.
// GroupDocs.Parser for .NET kullanarak C# dilinde Word, Excel, PowerPoint, PDF'nin belirli sayfalarından Görüntüleri Çıkarın
using (Parser parser = new Parser("path/document.pdf"))
{
    // Belge bilgilerini al
    IDocumentInfo documentInfo = parser.GetDocumentInfo();
    ImageOptions options = new ImageOptions(ImageFormat.Png);
    int imageNumber = 0;

    // Sayfalar üzerinde yineleme
    for (int pageIndex = 0; pageIndex < documentInfo.PageCount; pageIndex++)
    {
        // Bir sayfa numarası yazdır 
        Console.WriteLine(string.Format("Page {0}/{1}", pageIndex + 1, documentInfo.PageCount));
        // Görüntüler üzerinde yineleyin. Örnekte boş denetimin yok sayılması
        foreach (PageImageArea image in parser.GetImages(pageIndex))
        {
            // Bir dikdörtgen ve görüntü türü yazdırın
            Console.WriteLine(string.Format("R: {0}, Text: {1}", image.Rectangle, image.FileType));
            image.Save("imageFilePath/image-" + imageNumber.ToString() + ".png", options);
            imageNumber++;
        }
    }
}

C#’ta Görüntü Çıkarma için Desteklenen Biçimler

Aşağıda, görüntü ayıklama için GroupDocs.Parser for .NET API tarafından desteklenen belge biçimleri yer almaktadır.

Belge Türü Dosya Biçimleri
Kelime İşlem Belgeleri DOC, DOCX, DOCM, DOT, DOTX, DOTM, ODT, OTT, RTF
elektronik tablolar XLS, XLSX, XLSM, XLSB, XLT, XLTX, XLTM, ODS, OTS, XLA, XLAM, SAYILAR
Sunumlar PPT, PPTX, PPTM, PPS, PPSX, PPSM, POT, POTX, POTM, ODP, OTP
Taşınabilir Belgeler PDF
E-postalar EML, EMLX, MSG
Arşivler posta kodu

GroupDocs.Parser hakkında daha fazla bilgi

Biraz daha konuşalım @ Ücretsiz Destek Forumu

İlgili Makaleler