Node.js'te Bir PDF'yi Görüntü Dosyasına Dönüştürme

Node.js'de PDF'yi Görüntü Dosyasına Dönüştürme

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF for Node.js, PDF sayfalarını tek bir metod çağrısıyla görsellere dönüştürür. rasterizeToImageFiles yöntemi, çıktı çözünürlüğü ve sayfa seçimi üzerinde doğrudan kontrol sağlayarak, tek sayfalık veya çok sayfalı herhangi bir PDF'den PNG, JPG, GIF, BMP ve diğer formatlarda dosyalar üretir.

Metod, sağladığınız dosya uzantısından çıktı formatını otomatik olarak algılar, bu yüzden format değiştirmek için yapılandırma değişiklikleri gerektirmez. Uzantının değiştirilemediği ortamlarda, açık bir ImageType enum değeri, uzantıya dayalı algılamayı geçersiz kılar. IronPDF Node.js belgeleri, dosya yolları, byte tamponları ve rasterizasyondan önce PDF'ye dönüştürülen HTML dizeleri gibi desteklenen giriş kaynaklarının tam yelpazesini kapsar.

Hızlı Başlangıç: PDF'yi PNG'ye Dönüştürme

  1. IronPDF'yi yükleyin: npm install @ironsoftware/ironpdf
  2. Paketten PdfDocument öğesini içe aktarın
  3. PDF'nizi PdfDocument.fromFile() ile yükleyin
  4. Çıktı yoluyla rasterizeToImageFiles()'yi çağırın
//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/quickstart.js
import { PdfDocument } from "@ironsoftware/ironpdf";

PdfDocument.fromFile("./sample.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./output.png");
});

Node.js için IronPDF'yi Nasıl Yüklerim?

npm install @ironsoftware/ironpdf
npm install @ironsoftware/ironpdf
SHELL

PDF'leri PNG, JPG, GIF, BMP ve diğer görsel formatlara dönüştürmek için npm'den IronPDF'in Node.js paketini yükleyin.

Üretimde PDF'leri görsele dönüştürmeden önce lisans anahtarınızı yapılandırın. Paket ayrıca, tüm PDF işleme işlemlerini yürüten ve dönüştürmenin çalışabilmesi için sistemde bulunması gereken IronPDF Motorunun yüklenmesini gerektirir.

Sistem Gereksinimleri Nelerdir?

Node.js 12 veya daha yeni bir sürüm gereklidir. IronPDF Motor binary'si, paket ilk yüklendiğinde otomatik olarak indirilmektedir, ancak çıkış ağ erişimini kısıtlayan bir dağıtım ortamınız varsa, manuel olarak yükleyebilirsiniz. @ironsoftware/ironpdf paketi npm kayıt defterinde mevcuttur ve yerel modül derleme adımı içermez, bu da CI boru hatlarını basit tutar.

Lütfen dikkate alınGeliştirme sırasında lisans anahtarı gerekmemektedir. Lisanssız modda filigranlı çıktı üretilir. Geçerli bir anahtar yapılandırıldığında filigranlar kaldırılır.

PDF'yi Görüntüye Nasıl Dönüştürürüm?

rasterizeToImageFiles yöntemi, bir PDF belgesini okur ve sağladığınız çıktı yoluna sayfa başına bir görüntü dosyası yazar. Tek sayfalık PDF'ler için tam olarak bir görüntü üretir. Çok sayfalı PDF'ler için, her dosya adının sonuna sayfa numarası eki otomatik olarak eklenir.

Aşağıdaki örnek, Learning Container'dan bir örnek PDF indirir ve bunu bir PNG dosyasına dönüştürür.

PDF'den görüntüye dönüştürme işleminden önce girdi olarak kullanılan tek sayfalık Lorem Ipsum örnek belgesini gösteren PDF görüntüleyici Örnek PDF dosyası bir görüntüleyicide açıldı. Bu dosyayı ve diğer test PDF'lerini Learning Containerdan indirin.

//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-png.js
import { PdfDocument } from "@ironsoftware/ironpdf";

// Load the PDF and convert it to a PNG image.
// The output path determines the format — change .png to .jpg for JPEG output.
PdfDocument.fromFile("./sample-pdf-file.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/sample-pdf-file.png");
    return pdf;
}).catch((error) => {
    console.error("Error converting PDF to image:", error);
});

PdfDocument.fromFile, PDF'yi yükler ve PdfDocument nesnesine çözümleyen bir Promise döndürür. .then geri çağrısı, çözümlenmiş belgeyi alır ve hedef yol ile rasterizeToImageFiles'yi çağırır. Yoldaki dosya uzantısı — burada .png — IronPDF'ye hangi formatı üreteceğini bildirir. .catch bloğu, okuma veya dönüştürme hatalarını yönetir.

Lorem Ipsum belge içeriğinin PNG görüntüsü olarak işlendiğini gösteren dönüştürülmüş PNG çıktı dosyası Yukarıdaki örnek PDF'den üretilen PNG. IronPDF belgeyi üç satır kodla dönüştürür.

Bu metodun seçenekleri hakkında daha ayrıntılı örnekler için PDF to Images kod örneği sayfasına bakın.

Bir PDF'yi JPEG Formatına Nasıl Dönüştürürüm?

Biçim seçimi otomatiktir: rasterizeToImageFiles'ye hangi uzantıyı geçirirseniz, çıktı biçimi o uzantıya göre belirlenir. Bir JPEG üretmek için, hedef yolundaki uzantıyı değiştirin:

//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-extension.js
// Switch to JPEG by changing the file extension in the output path.
pdf.rasterizeToImageFiles("./images/pdf-to-jpeg.jpg");

Çıktı dosya adının kontrol edilemediği durumlarda (örneğin, sabit adlandırma şemalarına sahip otomatikleştirilmiş iş akışlarında), uzantıya dayalı algılamayı geçersiz kılmak için seçenekler nesnesine ImageType değerini geçirin:

//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-to-jpeg-imagetype.js
import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";

// ImageType.JPG forces JPEG output regardless of the file extension.
const options = {
    type: ImageType.JPG,
    dpi: 300
};
PdfDocument.fromFile("./sample-pdf-file.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/output.png", options);
    return pdf;
});

Seçenekler nesnesindeki type özelliği, dosya adı uzantısından önceliklidir. Yukarıdaki örnekte, rasterizeToImageFiles, hedef yol .png ile bitmesine rağmen bir JPEG dosyası oluşturur. Aynı model GIF ve BMP çıktılarına da uygulanır.

DPI Ayarları Çıktı Kalitesini Nasıl Etkiler?

Seçenekler nesnesindeki dpi özelliği, rasterleştirilmiş çıktının piksel yoğunluğunu kontrol eder. Daha yüksek değerler daha fazla detay içeren daha büyük dosyalar üretir; daha düşük değerler netliği azaltma pahasına dosya boyutunu düşürür.

İpuçlarıdpi: 300 ayarını yapmak, yüksek çözünürlüklü baskı veya arşivleme için uygun baskı kalitesinde görüntüler üretir. Ekran görüntüsü veya küçük resim oluşturma için, dpi: 96 web kullanımı için yeterli netliği korurken dosya boyutunu azaltır.

150 DPI, çoğu arşiv veya önizleme senaryosu için makul bir varsayılan değerdir — çıktı, ekranda okumak için yeterince nettir ve dosya boyutları yönetilebilir kalır. Çevrildikten sonra yazdırılacak veya OCR işlemine tabi tutulacak içerikler için 300 DPI veya daha yüksek bir çözünürlük tercih edilir.

Çok Sayfalı Bir PDF'yi Görüntülere Nasıl Dönüştürürüm?

Birden fazla sayfadan oluşan belgeler için, rasterizeToImageFiles her sayfa için bir resim oluşturur. IronPDF, çıktının organize edilmesi için her bir çıktı dosyasına sıfır tabanlı bir sayfa indeksini ekler — ek bir kod gerekmez.

Görüntü dönüştürme işleminden önce iki sayfalık örnek içeriği gösteren, görüntüleyicide açılmış iki sayfalık bir PDF belgesi İki sayfalık örnek PDF. Dönüştürme sırasında IronPDF her sayfa için bir görüntü dosyası oluşturur.

//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-multipage.js
import { PdfDocument } from "@ironsoftware/ironpdf";

// Each page of the PDF becomes a separate image file.
// Output filenames: multipage-pdf-page_1.png, multipage-pdf-page_2.png, etc.
PdfDocument.fromFile("./multipage-pdf.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles("./images/multipage-pdf/multipage-pdf-page.png");
});

Yukarıdaki iki sayfalık PDF'den oluşturulan iki PNG çıktı dosyası — multipage-pdf-page_1.png ve multipage-pdf-page_2.png İki sayfalık PDF'den üretilen iki PNG dosyası. IronPDF her çıktı dosyasını sayfa numarası ile adlandırır.

Bu otomatik sayfa bölme özelliği desteklenen tüm görüntü formatlarıyla çalışır. Büyük belgelerdeki yalnızca belirli sayfaları dönüştürmek için bunu bir sonraki bölümdeki fromPages seçeneğiyle birlikte kullanın. Tersi yönde çalışmak için, birden fazla görüntü dosyasını tek bir PDF belgesinde birleştirmenin nasıl yapılacağını gösteren görüntüden PDF'ye örneği inceleyin.

Çıktı Dosya Adları Nasıl Yapılandırılır?

Dosya adı deseni, dosya uzantısından önce bir tabanlı sayfa numarası ekler. Çıktı yolu ./images/report-page.png ise, üç sayfalık bir PDF dosyası report-page_1.png, report-page_2.png ve report-page_3.png dosyalarını oluşturur. rasterizeToImageFiles çağrısı yapılmadan önce çıktı dizini mevcut olmalıdır — yöntem, eksik dizinleri otomatik olarak oluşturmaz.

ÖnemlirasterizeToImageFiles'yi çağırmadan önce çıktı dizinini oluşturun. Hedef dizin mevcut değilse yöntem bir hata verir. Önceden oluşturmak için Node.js'nin fs.mkdirSync('./images/output', { recursive: true }) komutunu kullanın.

Sadece Belirli Sayfaları Nasıl Dönüştürürüm?

Seçenekler nesnesindeki fromPages özelliği, sıfır tabanlı sayfa dizinlerinden oluşan bir diziyi kabul eder. Sadece belirtilen sayfalar rasterleştirilecektir; diğerleri atlanacaktır. Bu, yalnızca bir sayfa alt kümesine ihtiyaç duyulduğunda büyük PDF'lerle çalışırken yararlıdır — örneğin, bir belge önizlemesi için kapak ve bölüm başlangıç sayfalarını çıkarmak için. Sayfaları dönüştürmeden önce tek tek üzerinde çalışmanız gerektiğinde, PdfDocument için Node.js API Referansı, sayfa düzeyinde gerçekleştirilebilecek ek işlemleri açıklamaktadır.

//:path=/static-assets/pdf/content-code-examples/how-to/nodejs-pdf-to-image/convert-selective-pages.js
import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";

// Convert only pages 1, 4, 6, and 9 (zero-indexed: 0, 3, 5, 8) to BMP.
const options = {
    type: ImageType.BMP,
    fromPages: [0, 3, 5, 8],
    dpi: 150
};
PdfDocument.fromFile("./sample-pdf-with-images.pdf").then((pdf) => {
    pdf.rasterizeToImageFiles(
        "./images/multipage-selective-pdf/multipage-pdf-page.bmp",
        options
    );
}).catch((error) => {
    console.error("Failed to convert pages:", error);
});

Büyük bir PDF dosyasından üretilen, multipage-pdf-page_1, page_4, page_7 ve page_9 olarak etiketlenmiş dört BMP çıktı dosyası IronPDF, yalnızca fromPages dizisinde belirtilen dört sayfayı rasterleştirdi. Diğer sayfalar işlenmedi.

fromPages içindeki sayfa indeksleri sıfır tabanlıdır, bu nedenle [0, 3, 5, 8] birinci, dördüncü, altıncı ve dokuzuncu sayfaları hedefler. 150 DPI değeri, arşiv veya önizleme kullanım durumları için uygun olan çıktı kalitesi ile dosya boyutu arasında bir denge sağlar. Seçimli dönüştürme, desteklenen tüm görüntü türleriyle uyumludur.

Lütfen dikkate alınÖrnek PDF ile görüntüler içeren yukarıdaki örnekte kullanılan Luxaviation'dan indirin.

Sıfır Tabanlı ve Bir Tabanlı Sayfa Numaraları Arasındaki Fark Nedir?

fromPages, JavaScript'in standart dizi kuralına uygun olarak sıfır tabanlı indeksleme kullanır. Belgenin 1. sayfası 0 indeksine, 2. sayfası 1 indeksine karşılık gelir ve bu şekilde devam eder. Bu, PDF görüntüleyicilerinde görünen bir tabanlı sayfa numaralarından farklıdır. Görüntüleyici sayfa numaralarını fromPages dizinlerine çevirirken, her sayfa numarasından bir çıkarın.

İpuçlarıToplam sayfa sayısını önceden bilmeden herhangi bir PDF'nin son sayfasını dönüştürmek için, PdfDocument API'sinden pdf.pageCount() komutunu kullanarak sayfa sayısını okuyun ve [pdf.pageCount() - 1] değerini fromPages olarak kullanın.

PDF'den Görüntüye Dönüştürme İçin Bir Sonraki Adım Nedir?

IronPDF'nin rasterizeToImageFiles yöntemi, tutarlı bir API içinde format seçimi, çok sayfalı bölme ve seçici sayfa dönüştürme işlemlerini gerçekleştirir. Seçenekler nesnesi, format değişiklikleri, DPI kontrolü ve sayfa filtreleme için tek uzatma noktasıdır.

Daha fazla bilgi için, IronPDF for Node.js API Referansı, rasterizeToImageFiles ve PdfDocument sınıfında bulunan tüm parametreleri belgelemektedir. PDF'den Görüntülere kod örneği, ek yapılandırma ile birlikte kullanılan rasterizeToImageFiles'yi göstermektedir. Tersi yönde çalışmak için, görüntüleri PDF dosyalarına dönüştürme veya çok çerçeveli TIFF dosyalarını PDF'ye dönüştürme konularına bakın.

IronPDF for Node.js'in ücretsiz denemesini başlatın ve kendi projenizde PDF'den görüntüye dönüştürme işlemini test edin. Lisans seçeneklerini görüntüle ve ekibinize uyan bir plan bulun.

IronPDF'nin başka neler yapabileceğini görmeye hazır mısınız? Tam Node.js eğitici içeriklerini burada inceleyin: Node.js'de HTML'den PDF'ye

Sıkça Sorulan Sorular

Node.js'te bir PDF'i bir görüntüye nasıl dönüştürürüm?

IronPDF'nin rasterizeToImageFiles yöntemini kullanın. Paket yüklemek için npm install @ironsoftware/ironpdf kullanın, PDF'inizi PdfDocument.fromFile() ile yükleyin, ardından rasterizeToImageFiles()'yi çıktı yoluyla çağırın. Dosya uzantısı, çıktı formatını otomatik olarak belirler.

rasterizeToImageFiles hangi görüntü formatlarını destekler?

IronPDF, PNG, JPG, GIF ve BMP çıktısını destekler. Format, çıktı yolundaki dosya uzantısından belirlenir. Bunu geçersiz kılmak için, seçenekler nesnesine bir ImageType enum değeri geçin: örneğin, { type: ImageType.JPG } dosya adı uzantısına bakılmaksızın JPEG çıktı almayı sağlar.

Bir PDF'nin yalnızca belirli sayfalarını nasıl görüntülere dönüştürebilirim?

Seçenekler nesnesine bir fromPages dizisi geçin. Dizi, sıfır tabanlı sayfa indekslerini kabul eder, bu nedenle fromPages: [0, 2, 4] birinci, üçüncü ve beşinci sayfaları dönüştürür. Dizede listelenmeyen sayfalar atlanır.

PDF'yi görüntüye dönüştürmek için hangi DPI kullanmalıyım?

Seçenekler nesnesinde dpi özelliğini ayarlayın. Ekran görüntüleme ve küçük resimler için dpi: 96 kullanın, arşiv ve önizleme durumları için dpi: 150 kullanın ve dönüşümden sonra OCR tarafından işlenecek içerikler veya baskı kalitesinde çıktı için dpi: 300 kullanın.

Node.js'de IronPDF kurulumu için gereksinimler nelerdir?

Node.js 12 veya daha yeni sürüm gereklidir. Paketi npm install @ironsoftware/ironpdf ile yükleyin. IronPDF Motoru ikili dosyası ilk kullanımda otomatik olarak indirilir ve tüm PDF işlemlerini yönetir. Üretim kullanımı için, çıktıdaki filigranları kaldırmak adına bir lisans anahtarı yapılandırın.

Çok sayfalı PDF'ler için çıktı dosya adları nasıl yapılandırılır?

IronPDF, dosya uzantısından önce bir tabanlı sayfa numarası ekler. Çıktı yolu report-page.png ise, üç sayfalık bir PDF report-page_1.png, report-page_2.png ve report-page_3.png üretir. Yöntemi çağırmadan önce çıktı dizini mevcut olmalıdır.

Node.js'de PDF'den görüntüye dönüştürme işlemi eşzamanlı mı?

Evet. Hem PdfDocument.fromFile() hem de rasterizeToImageFiles() Promises döndürür. Başarı yolunu .then() ile bağlayın ve dönüştürme hatalarını yönetmek için .catch() kullanın. Bu yöntemlerle async/await sözdizimini de kullanabilirsiniz.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz?
bir örnek çalıştır HTML'nizi bir PDF'ye dönüştüğünü izleyin.