
Wie verschiedene Browser PDF-Text mit unterschiedlichen Schriftart-Engines rendern
Wenn Sie dieselbe PDF-Datei in Google Chrome und in Mozilla Firefox auf demselben Computer öffnen, verarbeiten zwei völlig unterschiedliche PDF-Rendering-Engines das Dokument. Chrome verwendet PDFium, eine C++-Bibliothek, die ursprünglich von Foxit entwickelt wurde und jetzt von Google als Teil des Chromium-Projekts verwaltet wird. Firefox verwendet PDF.js, einen von Mozilla entwickelten JavaScript-basierten Renderer, der vollständig in der JavaScript-Engine des Browsers ausgeführt wird. Diese beiden Engines verfolgen grundlegend unterschiedliche Ansätze zur Schriftartenverarbeitung, und diese Unterschiede führen zu sichtbaren Abweichungen in der Textschärfe, selbst wenn identische PDF-Quelldateien gerendert werden.
PDFium rendert Text mithilfe des nativen Schriftart-Rendering-Stacks des Betriebssystems. Unter Windows bedeutet dies, dass DirectWrite verwendet wird, das für LCD-Displays optimiertes Subpixel-Anti-Aliasing anwendet. Auf dem Mac wird Core Text verwendet, das einen anderen Anti-Aliasing-Algorithmus anwendet, der der Formtreue Vorrang vor der Pixelrasterausrichtung einräumt. Diese Unterschiede bei der Darstellung von Schriftarten auf Betriebssystemebene führen dazu, dass PDF-Schriftarten in derselben PDF beim Öffnen in Chrome unter Windows deutlich anders aussehen können als in Chrome auf dem Mac, ohne überhaupt Unterschiede zwischen Browsern zu berücksichtigen.
PDF.js verfolgt einen völlig anderen Ansatz. Es rendert Text mithilfe der browsereigenen Canvas-Text-Rendering-API auf einem HTML5-Canvas-Element. Dies bedeutet, dass die Qualität der Textwiedergabe von der Canvas-Implementierung des Browsers abhängt, die zwischen Firefox und Chrome unterschiedlich ist, und von der Schriftartenvergleichslogik des Browsers, die bestimmt, wie in der PDF-Datei referenzierte Schriftarten gefunden und geladen werden. Eine Schriftart, die Chrome im Schriftartenverzeichnis des Systems findet und mit hardwarebeschleunigtem DirectWrite rendert, kann von Firefox einer etwas anderen Schriftartenvariante zugeordnet oder über einen anderen Anti-Aliasing-Codepfad gerendert werden.
Versuchen Sie es mit „PDF bearbeiten“.
Keine Installation erforderlich. Funktioniert direkt in Ihrem Browser.
Einbettung und Ersetzung von Schriftarten und ihre Auswirkung auf die Textschärfe
Eine PDF-Datei, die alle Schriftarten vollständig einbettet, sollte theoretisch in jedem Viewer identisch dargestellt werden, da sich die genauen Schriftartdaten, die zum Anzeigen des Texts erforderlich sind, in der Datei befinden. In der Praxis werden selbst vollständig eingebettete Schriftarten in den verschiedenen Browsern unterschiedlich dargestellt, da der Schriftartenraster, die Komponente, die Schriftartkonturen in Bildschirmpixel umwandelt, in jeder Rendering-Engine unterschiedlich ist. PDFium verwendet je nach Plattform FreeType oder den betriebssystemeigenen Rasterizer. PDF.js basiert auf dem Canvas-Text-Rendering des Browsers, das den Text-Rendering-Stack des Betriebssystems indirekt über die Rendering-Pipeline des Browsers nutzt.
Wenn Schriftarten nicht in die PDF-Datei eingebettet sind, was bei Dokumenten, die von Office-Suiten und Print-to-PDF-Treibern erstellt werden, die auf Systemschriftarten verweisen, anstatt sie einzubetten, weiterhin üblich ist, unterscheidet sich das PDF-Anzeige-Erlebnis je nach Browser noch stärker. Chrome und Firefox verfügen jeweils über eine eigene Logik zum Ersetzen von Schriftarten und einen eigenen Satz standardmäßiger Ersatzschriftarten. Ein PDF, das auf „Helvetica“ verweist, ohne es einzubetten, kann in einem Browser in Arial, in einem anderen in einem anderen serifenlosen Ersatz und in einem dritten als leere Rechtecke angezeigt werden, wenn kein geeigneter Ersatz konfiguriert ist.
Schrifthinweise, der Prozess der Anpassung der Schriftkonturen an das Pixelraster bei kleinen Größen für eine schärfere Bildschirmanzeige, ist eine weitere Quelle für browserübergreifende Schärfeunterschiede. Desktop-PDF-Viewer wenden Schriftarthinweisanweisungen an, die in die Schriftartdatei eingebettet sind. PDF.js, das über einen Browser-Canvas gerendert wird, ignoriert möglicherweise Hinting-Anweisungen oder wendet sie teilweise an, da die Canvas-API der Anwendung keine Kontrolle über Font-Hintings zur Verfügung stellt. Dies bedeutet, dass kleine Textgrößen, typischerweise 10 Punkt und weniger, in browserbasierten Viewern weicher oder weniger deutlich erscheinen können als in Desktop-Viewern auf demselben Computer.
Anti-Aliasing-Unterschiede und ihre Auswirkung auf die wahrgenommene Schärfe
Anti-Aliasing glättet die gezackten Kanten von Textzeichen, indem Kantenpixel in Schattierungen zwischen der Textfarbe und der Hintergrundfarbe eingefärbt werden. Unterschiedliche Anti-Aliasing-Algorithmen erzeugen unterschiedliche subjektive Schärfeeindrücke, und unterschiedliche Rendering-Engines treffen unterschiedliche Algorithmen.
Subpixel-Anti-Aliasing, das von DirectWrite unter Windows verwendet wird, nutzt die physische Anordnung roter, grüner und blauer Subpixel in LCD-Displays, um die effektive horizontale Auflösung der Textwiedergabe zu verdreifachen. Mit Subpixel-Anti-Aliasing gerenderter Text sieht bei kleinen Größen deutlich schärfer aus als mit Graustufen-Anti-Aliasing gerenderter Text, bei dem jedes Pixel als einheitliche Einheit behandelt wird. Chrome unter Windows verwendet Subpixel-Anti-Aliasing über DirectWrite. Firefox unter Windows verwendet standardmäßig Graustufen-Anti-Aliasing für auf der Leinwand gerenderten Text, einschließlich der PDF.js-Ausgabe. Das gleiche PDF, das in Chrome und Firefox auf demselben Windows-Computer angezeigt wird, kann in einem Browser scharf und in dem anderen nur aufgrund von Anti-Aliasing-Unterschieden leicht weich aussehen.
Auf Displays mit hoher DPI werden die Anti-Aliasing-Unterschiede weniger sichtbar, da die höhere Pixeldichte genügend physikalische Auflösung bietet, um Text auch mit einfacheren Anti-Aliasing-Algorithmen sauber darzustellen. Ein 4K-Monitor verfügt bei einer Betriebssystemskalierung von 200 Prozent über genügend Pixel pro Zeichen, sodass die Unterschiede zwischen Subpixel- und Graustufen-Antialiasing kaum wahrnehmbar sind. Auf standardmäßigen 1080p-Displays mit 100-prozentiger Skalierung, bei denen jedes Zeichen mit relativ wenigen physischen Pixeln gerendert wird, hat die Anti-Aliasing-Auswahl einen viel größeren Einfluss auf die wahrgenommene Textqualität.
Praktische Schritte zur Sicherstellung einer konsistenten PDF-Textwiedergabe in allen Browsern
Wenn die PDF-Datei hauptsächlich über Web to PDF browserbasiertes Rendering angezeigt wird, verbessern verschiedene Vorgehensweisen die browserübergreifende Textkonsistenz. Betten Sie alle Schriftarten in die PDF-Datei ein, anstatt sich auf Schriftartenreferenzen des Systems zu verlassen. Eingebettete Schriftarten garantieren, dass jede Rendering-Engine Zugriff auf genau dieselben Schriftartendaten hat, wodurch die Schriftartersetzung als Ursache für Rendering-Unterschiede entfällt.
Verwenden Sie Schriftarten, die für die Bildschirmdarstellung in typischen Textgrößen konzipiert sind. Schriftarten mit guten Hinweisanweisungen liefern konsistentere Ergebnisse über alle Rendering-Engines hinweg als Schriftarten, die auf dem Rasterizer basieren, um gute Ergebnisse ohne Hinweise zu erzielen. Weboptimierte Schriftarten von Diensten wie Google Fonts eignen sich in der Regel gut für die Bildschirmanzeige in gängigen Textgrößen, und die Einbettung in PDFs, die für die Anzeige im Browser gedacht sind, führt zu vorhersehbareren browserübergreifenden Ergebnissen als die Verwendung druckoptimierter Schriftarten, die für die Ausgabe im Offsetdruck entwickelt wurden.
Testen Sie die PDF-Datei in Chrome, Firefox und Edge, bevor Sie sie an einem über das Internet zugänglichen Ort veröffentlichen. Ein direkter Vergleich bei 100 Prozent Zoom auf einem Display mit Standardauflösung zeigt Unterschiede in der Textschärfe, die es wert sind, behoben zu werden, bevor das Dokument den Endbenutzer erreicht. Wenn ein Browser deutlich weicheren Text anzeigt als die anderen, kann eine Anpassung der Schriftarteinbettungseinstellungen oder eine Vergrößerung der Textgröße um einen Punkt häufig dazu führen, dass alle drei Browser eine akzeptable visuelle Übereinstimmung erzielen.
Zu den PDF-Exportoptionen von WukongPDF gehören Einstellungen zum Einbetten von Schriftarten, die sicherstellen, dass alle Schriftarten vollständig in die Ausgabedatei eingebettet sind, wodurch Schriftartersetzungen als Ursache für Unterschiede bei der Textwiedergabe zwischen Browsern vermieden werden.
Der allgemeine Trend bei der Browser-PDF-Wiedergabe geht eher in Richtung Konvergenz als in Richtung Divergenz. Sowohl Chromes PDFium als auch Firefoxs PDF.js erhalten regelmäßige Updates, die die Qualität und Konsistenz der Textwiedergabe verbessern. Vor zwei Jahren waren die Rendering-Unterschiede zwischen diesen Engines deutlich größer als heute. Die kontinuierliche Weiterentwicklung beider Engines, angetrieben durch die zunehmende Bedeutung der webbasierten Dokumentenanzeige, verringert schrittweise die Lücke in der Textqualität zwischen Browsern. Für Dokumentherausgeber bedeutet dieser Trend, dass die Investition in browserübergreifende Rendering-Tests heute zu Dokumenten führt, die noch konsistenter gerendert werden, wenn die zugrunde liegenden Engines weiter verbessert werden.
Aus Gründen der Barrierefreiheit haben die Unterschiede in der Textwiedergabe zwischen den Browsern einen sekundären Effekt, der über die Ästhetik hinausgeht. Bildschirmleseprogramme, die Text aus vom Browser gerenderten PDFs extrahieren, hängen von der Genauigkeit der Textextraktion des Browsers ab, die direkt davon abhängt, wie die PDF-Engine des Browsers den Text intern darstellt. Ein Browser, der Text scharf wiedergibt, extrahiert ihn normalerweise auch genau für die Verwendung durch Bildschirmleseprogramme. Durch das Testen der PDF-Barrierefreiheit mit Screenreadern in mehreren Browsern wird sichergestellt, dass das Dokument nicht nur optisch konsistent, sondern auch programmgesteuert zugänglich ist, unabhängig davon, welchen Browser ein Screenreader-Benutzer bevorzugt.
Die praktischen Auswirkungen dieser browserübergreifenden Unterschiede hängen stark von der Zielgruppe und dem Vertriebskanal des Dokuments ab. Eine PDF-Datei, die zum Herunterladen und Anzeigen in der bevorzugten Desktop-Anwendung des Empfängers, Acrobat, Preview oder Foxit, vorgesehen ist, erfordert keine Browser-Rendering-Optimierung. Ein in eine Webseite eingebettetes PDF, das von Hunderten oder Tausenden von Benutzern direkt im Browser angezeigt wird, profitiert erheblich von den in diesem Artikel beschriebenen Test- und Optimierungspraktiken. Durch die Anpassung des Optimierungsaufwands an den primären Anzeigekontext wird sichergestellt, dass Ressourcen dort eingesetzt werden, wo sie die größte Auswirkung auf den Benutzer haben.
Die Wahl des Schriftartformats für die PDF-Einbettung wirkt sich auch auf die browserübergreifende Rendering-Konsistenz aus. TrueType-Schriftarten mit guten Hinting-Anweisungen liefern im Allgemeinen konsistentere Ergebnisse über alle Rendering-Engines hinweg als PostScript Type 1-Schriftarten, bei denen es sich um ein älteres Format mit weniger ausgefeilter Hinting-Unterstützung handelt. OpenType-Schriftarten, die sowohl TrueType-Konturen als auch PostScript-Konturen in derselben Datei enthalten (ein Format namens OpenType CFF), können je nach dem von der Rendering-Engine ausgewählten Konturformat unterschiedliche Rendering-Ergebnisse liefern. Für maximale browserübergreifende Konsistenz betten Sie OpenType-Schriftarten im TrueType-Stil mit Hinweisanweisungen ein, die für die Bildschirmanzeige bei gängigen Textgrößen optimiert sind.
Das Farbmanagement interagiert auf subtile Weise mit der Textwiedergabe und beeinflusst die wahrgenommene Schärfe. Eine PDF-Datei mit einem eingebetteten RGB-Farbprofil kann Text mit einem leicht anderen Kontrast zum Hintergrund darstellen als dieselbe PDF-Datei ohne Farbprofil oder mit einem CMYK-Profil. Browser unterscheiden sich in der Unterstützung des Farbmanagements für PDF-Inhalte, und die Interaktion zwischen dem Farbmanagement des Browsers, der Anzeigekalibrierung des Betriebssystems und dem eingebetteten Farbprofil der PDF-Datei kann sich darauf auswirken, ob schwarzer Text als reines Schwarz oder als etwas helleres Dunkelgrau angezeigt wird, was sich wahrnehmungsmäßig auf die Schärfe auswirkt, obwohl die Textwiedergabeauflösung identisch ist.
Versuchen Sie es mit „PDF bearbeiten“.
Keine Installation erforderlich. Funktioniert direkt in Ihrem Browser.
