Popüler olarak eKitap olarak bilinen elektronik kitap, çeşitli elektronik cihazlarda okunabilen dijital formdaki bir kitaptır. Bu cihazlar, Kindle gibi özel eOkuyucular veya dizüstü bilgisayarlar, masaüstü bilgisayarlar ve akıllı telefonlar içerir. Piyasada kullanımda olan birçok popüler e-Kitap dosya formatı vardır; EPUB, FictionBook FB2, Microsoft Derlenmiş HTML Yardımı - CHM, DjVu, MOBI, PDF ve diğerleri. Bir programcı olarak bu makale, .NET uygulamalarında C# dilindeki e-Kitaplardan programlı olarak resim ayıklamanıza yardımcı olacaktır.
Aşağıdaki konular aşağıda ele alınacaktır:
- e-Kitaplardan Görüntü Çıkarma için .NET API
- C# dilinde EPUB e-Kitabından Görüntüleri Çıkarın
- C# dilinde FB2, CHM e-Kitaplarından Görüntüleri Çıkarın
e-Kitaplardan Görüntü Çıkarma için .NET API
E-Kitaplardan görüntülerin çıkarılması için, bu makalenin C# örneklerinde GroupDocs.Parser for .NET API’sini kullanacağım. E-Kitapların yanı sıra bu API, kelime işlem belgeleri, elektronik tablolar, PDF, sunumlar, e-postalar, ZIP arşivleri ve diğer birçok belge biçiminden görüntülerin ayrıştırılmasını ve çıkarılmasını destekler.
İndirilenler bölümünden DLL’leri veya MSI yükleyicisini indirebilir veya NuGet aracılığıyla .NET uygulamanıza API’yi yükleyebilirsiniz.
PM> Install-Package GroupDocs.Parser
C# dilinde EPUB e-Kitabından Görüntüleri Çıkarın
Görüntüleri ayrıştırmak için EPUB e-Kitabı ile başlayalım. C# kodunun izlediği aşağıdaki adımlar, EPUB e-Kitabını ayrıştırır ve içindeki tüm görüntüleri çıkarır.
- Ayrıştırıcı sınıf nesnesi oluşturun.
- EPUB eKitabının tüm resimlerini çıkarmak için GetImages yöntemini kullanın.
- Ayıklanan görüntüleri tek tek kaydetmek için çaprazlayın.
Aşağıdaki C# kodu, yukarıda gösterilen EPUB e-Kitabı ayrıştırmak için belirtilen ayrıştırma adımlarını uygular ve ayıklanan görüntüleri birer birer diske kaydeder.
// EPUB, FB2, CHM dosyasından Görüntüleri Çıkarmak ve C# ile diske kaydetmek için e-Kitapları Ayrıştırın
using (Parser parser = new Parser("ebook.epub"))
{
// E-Kitaptan görüntüleri ayıklayın
IEnumerable<PageImageArea> images = parser.GetImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Ayıklanan görüntüler üzerinde yineleme yapın
foreach (PageImageArea image in images)
{
image.Save(("Image-" + imageNumber.ToString() + image.FileType.Extension), options);
imageNumber++;
}
}
Sonuç olarak, mevcut tüm resimler kaydedilecektir. İşte örnek olarak gösterilen resimlerden biri.
Ayıklanan görüntüleri aşağıdaki desteklenen görüntü dosyası biçimlerinden herhangi birinde kaydedebilirsiniz:
- JPG
- png
- WEBP
- GIF
- BMP
C# dilinde FB2, CHM e-Kitaplarından Görüntüleri Çıkarın
FB2, CHM veya başka bir formatta e-Kitabınız varsa, resimlerini aynı şekilde çıkarabilirsiniz. Nesneyi oluştururken e-Kitabınızı Parser yapıcısına iletmeniz yeterlidir. Daha sonra GetImages yöntemi, aynı C# kodunu kullanarak sağlanan e-Kitapların herhangi birinden görüntüleri ayıklayacaktır.
// Pass the FB2, CHM, PDF, or any other eBook to Parser contructor
Parser parser = new Parser("ebook.fb2"); // FB2
// Parser parser = new Parser("ebook.chm"); // CHM
// Parser parser = new Parser("ebook.pdf"); // PDF
IEnumerable<PageImageArea> images = parser.GetImages();
Çözüm
Umarım artık EPUB, FB2, CHM ve .NET uygulamalarınızdaki diğer dosya biçimlerine sahip e-Kitaplardan tüm görüntüleri programlı olarak almakta rahat edersiniz. GroupDocs.Parser for .NET API’yi kullanarak kendi görüntü çıkarıcı uygulamanızı bile oluşturabilirsiniz.
API hakkında daha fazla bilgi için documentation sayfasını veya GitHub’da açık kaynak örneklerini ziyaret edebilirsiniz. Diğer sorunlar için forumda hızlı destekle iletişime geçebilirsiniz.