.NET Kısa Çözümler – PDF Dosyasını Tek Bir Resim Olarak Almak

Merhabalar; Bazı durumlarda birden fazla sayfaya sahip olan bir pdf dosyasını tek bir resim olarak dönüştürüp almak isteyebiliriz. Her bir sayfayı bir resim olarak alacak bir çok kullanım şekli var fakat biz tüm sayfaları tek bir resimde almak istiyorsak aşağıdaki örneği kullanabiliriz.

Bu örnekte Magick.NET kullanıyoruz, dönüştürmeden önce en son GhostScript sürümünü kurmamız gerekiyor.

MagickReadSettings settings = new MagickReadSettings();
// 300 dpi olarak ayarlayarak daha iyi kalitede image alıyoruz.
settings.Density = new Density(300);

using (MagickImageCollection images = new MagickImageCollection())
{
    // PDF dosyasının tüm sayfalarını collection'a ekliyoruz.
    images.Read("Demo.pdf", settings);

    // Tüm sayfaları yatay olarak gösteren bir resim oluşturuyoruz.
    using (IMagickImage horizontal = images.AppendHorizontally())
    {
        // png olarak kayıt ediyoruz.
        horizontal.Write("Demo.horizontal.png");
    }

    // Tüm sayfaları yatay olarak gösteren bir resim oluşturuyoruz.
    using (IMagickImage vertical = images.AppendVertically())
    {
        // png olarak resim kayıt ediyoruz.
        vertical.Write("Demo.vertical.png");
    }
}

IT alanında 16 sene önce donanım ile başlayan tecrübem, network ve sonrasında iş analizi, yazılım geliştirme ve proje yöneticiliği alanlarında devam etmiştir. Endüstriyel yazılımlar, sahadan veri toplama ve analizleri, otomatik etiketleme ve barkod sistemleri, otomatik tartım ve robotik konularında tecrübe sahibiyim. Sanayi 4.0 kapsamında imalat sanayinin dijital dönüşümünde çok fazla projenin hayata geçmesini sağladım. Open Source projelerle uzun süre ilgilendim, analiz ve implementasyonu konularında tecrübe edindim. Bunlar dışında hobi amacıyla başlasam da sonradan ürüne dönüşen, geliştirme kartları ile farklı çalışmalarım olmuştur. Raspberry Pi üzerinde yaptığım donanımsal ve yazılımsal işler ile çok farklı ürünler ortaya çıkartarak tecrübe edindim.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>