Ö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.
Burada aşağıdaki konular ele alınacaktır:
- Resim, Metin ve Meta Veri Çıkarma .NET API
- PDF belgelerinden Görüntü Çıkarma
- Word, Excel, PowerPoint belgelerinden Görüntüleri Çıkarın
- Görüntüyü Belirli Sayfadan Çıkarın
- Görüntü Çıkarma için Desteklenen Formatlar
Resim, Metin ve Meta Veri Çıkarma .NET API
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
Bu basit adımları izleyerek tüm görüntüleri herhangi bir PDF belgesinden kolayca alabilirsiniz.
- Ayrıştırıcı sınıf nesnesini kaynak belgeyle somutlaştırın.
- PageImageArea nesnelerindeki tüm görüntülerin koleksiyonunu almak için Parser sınıfının GetImages yöntemini çağırın.
- Her görüntüyü elde etmek için PageImageArea üzerinde yineleme yapın.
- 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++;
}
}
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 | |
E-postalar | EML, EMLX, MSG |
Arşivler | posta kodu |
GroupDocs.Parser hakkında daha fazla bilgi
- Belgeler
- Kaynak Kodu Örnekleri
- API Referansı
- Aile (Şirket İçi API’ler| Cloud API’ler | Ücretsiz Çevrimiçi Uygulama
Biraz daha konuşalım @ Ücretsiz Destek Forumu