PDF zu PNG Rot-Tönung auf macOS in IronPDF for Node.js

Curtis Chau
Curtis Chau
Updated: 10. Juni 2026

Beim Rasterisieren eines PDFs zu PNG auf macOS mit IronPDF for Node.js weist das Ausgabebild falsche Farben auf. Ein QR-Code, der im Quell-PDF schwarz erscheint, wird im exportierten PNG rot dargestellt.

Ein Fehler in der Zuordnung der Farbkanäle im PDF-zu-Bild-Rasterisierungspipeline auf macOS verursacht, dass die Ausgabe eine falsche Kanalreihenfolge verwendet, was zu der Rot-Tönung führt.

Lösung

Rasterisieren Sie zu JPG statt zu PNG und verwenden Sie dann sharp, um das JPG in ein Graustufen-PNG zu konvertieren. Dies umgeht das macOS-Problem mit der Farbkanal-Zuordnung.

Sharp installieren:

npm install sharp
SHELL

Rasterisieren Sie zu JPG und konvertieren Sie dann zu 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();
TypeScript

Passen Sie den threshold Wert zwischen 120 und 200 basierend auf dem QR-Code-Kontrast in Ihrem PDF an. Dieser Nachbearbeitungsschritt ist sicher für QR-Codes, weil sie binär sind: Schwarze Zellen auf einem weißen Hintergrund. Eine Graustufenumwandlung verliert nichts für QR-Codes.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

Weiterlesen

Bereit anzufangen?

Version:2026.10gerade veröffentlicht