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

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

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
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();

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
Technischer Autor

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 ...

Weiterlesen
Bereit anzufangen?
Version: 2026.6 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.