IronPDF for Node.js'te macOS'ta PDF'yi PNG'ye Çevirme Kırmızı Ton Sorunu

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

IronPDF for Node.js kullanarak macOS'ta bir PDF'yi PNG'ye rasterleştirirken, çıktı görüntüsü hatalı renklere sahiptir. Kaynak PDF'de siyah görünen bir QR kodu, dışa aktarılan PNG'de kırmızı renkte renderlanır.

macOS PDF'den görüntü rasterleştirme hattında renk kanalı eşleme hatası, çıktının yanlış kanal sırasını kullanmasına ve kırmızı ton üretmesine neden olur.

Çözüm

JPG'ye rasterleştirin, ardından JPG'yi gri tonlamalı PNG'ye dönüştürmek için sharp kullanın. Bu, macOS renk kanalı eşleme sorununu atlar.

sharp'ı yükleyin:

npm install sharp
npm install sharp
SHELL

JPG'ye rasterleştirin, ardından PNG'ye dönüştürün:

import { PdfDocument, ImageType } from "@ironsoftware/ironpdf";
import sharp from "sharp";

const pdf = await PdfDocument.fromFile("input.pdf");

const [jpgPage] = await pdf.rasterizeToImageBuffers({
    fromPages: 0,
    imageType: ImageType.JPG,
});

const pngBuffer = await sharp(jpgPage)
    .flatten({ background: "#ffffff" })
    .grayscale()
    .threshold(160)
    .png()
    .toBuffer();

PDF'nizdeki QR kodu kontrastına göre threshold değerini 120 ile 200 arasında ayarlayın. Bu son işlem adımı, QR kodları için güvenlidir çünkü bunlar ikilidir: beyaz arka plan üzerinde siyah hücreler. Gri tonlamaya dönüştürme, QR kodları için hiçbir şey kaybettirmez.

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.6 yeni yayınlandı
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.