macOSでIronPDF for Node.jsを使用したPDFからPNGへの赤みの着色

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

macOSでIronPDF for Node.jsを使用してPDFをPNGにラスタライズする際、出力画像の色が正しくありません。 ソースPDFで黒く表示されるQRコードが、エクスポートされたPNGでは赤く表示されます。

macOSのPDFから画像へのラスタライズパイプラインにおけるカラーチャンネルマッピングエラーにより、出力が誤ったチャンネル順序を使用し、赤みがかかります。

解決策

JPGにラスタライズし、次にsharpを使用してJPGをグレースケールPNGに変換してください。 これにより、macOSのカラーチャンネルマッピングの問題を回避できます。

sharpをインストールしてください:

npm install sharp
npm install sharp
SHELL

JPGにラスタライズしてからPNGに変換:

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のQRコードのコントラストに基づいてthresholdの値を120から200の間で調整してください。 この後処理ステップは、QRコードがバイナリ形式(白地に黒いセル)であるため安全です。 グレースケール変換はQRコードに何も失わせません。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
バージョン: 2026.6 リリースされたばかり
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか?
サンプルを実行するHTML が PDF に変換されるのを確認します。