pdf.js

Mozillas Javascript-PDF-Renderer arbeitet pixelperfekt

Das von den Mozilla-Entwicklern Chris Jones und Andreas Gal gestartete Projekt pdf.js hat seinen ersten Meilenstein erreicht. Der komplett in Javascript geschriebene PDF-Renderer kann Mozillas Tracemonkey-PDF pixelgenau im Browser darstellen.

Artikel veröffentlicht am ,
pdf.js 0.2 mit Vorschauleiste
pdf.js 0.2 mit Vorschauleiste (Bild: pdf.js)

Eigentlich sollte pdf.js erst angekündigt werden, wenn der in Javascript realisierte PDF-Renderer in der Lage ist, ein 2009 veröffentlichtes Dokument über Trace Compilation "pixel-perfekt" zu rendern. Doch das Interesse an dem Projekt, begleitet durch eine wachsende Unterstützung anderer Entwickler, war groß und so stellten Chris Jones und Andreas Gal schon Mitte Juni 2011 ihr Projekt pdf.js vor. Nun, zwei Wochen später, ist der einst gesetzte Meilenstein erreicht und pdf.js liegt in der Version 0.2 vor.

Wichtigste Neuerung von pdf.js 0.2 ist die Möglichkeit, Type-1-Fonts zu laden. In der ersten Version war noch ein einzelner Font fest verdrahtet worden, weshalb die Unterschiede in den Screenshots nicht ganz so dramatisch ausfallen. Umgesetzt hat dies Vivien Nicolas.

  • pdf.js 0.2 mit Vorschauleiste (unten) im Vergleich mit pdf.js 0.1 (oben)
  • pdf.js 0.2 (unten) im Vergleich mit pdf.js 0.1 (oben)
  • pdf.js 0.2 (unten) im Vergleich mit pdf.js 0.1 (oben)
  • pdf.js 0.2 (unten) im Vergleich mit pdf.js 0.1 (oben)
  • pdf.js 0.2 (unten) im Vergleich mit pdf.js 0.1 (oben)
pdf.js 0.2 mit Vorschauleiste (unten) im Vergleich mit pdf.js 0.1 (oben)

Darüber hinaus unterstützt pdf.js gestrichelte Linien, wozu eine API-Erweiterung des Canvas-Elements von Firefox genutzt wird, die derzeit auf dem Wege der Standardisierung ist.

Justin D'Arcangelo hat das Userinterface von pdf.js überarbeitet und unter anderem eine Vorschauleiste integriert. Sie taucht auf, wenn man mit der Maus über die dunkle Leiste am linken Rand des Fensters fährt.

Zudem wurde bereits Unterstützung für verschlüsselte PDFs und eingebettete JPEGs umgesetzt und Julian Vierec hat ein Web-Worker-Backend gebaut, das in einer der kommenden pdf.js-Versionen zum Einsatz kommen soll.

Nach Angaben von Chris Jones sind mit dem pixelgeauen Rendering des Tracemonky-PDFs die größten Herausforderungen gelöst und es sei nicht mehr damit zu rechnen, dass neue Probleme das gesamte Projekt infrage stellen. Wobei das pixelgenaue Rendern noch leicht übertrieben ist, denn dies stimmt nur für die aktuellen Entwicklerversionen von Firefox und Windows 7 mit Direct2D und DirectWrite, sofern man von einem Bug in Directwrite absieht. In anderen Firefox-Versionen und auch anderen Browsern und unter anderen Betriebssystemen sieht das Ergebnis deutlich schlechter aus.

Für die kommende Version von pdf.js sollen weitere PDF-Funktionen integriert werden. So haben sich die Entwickler das Ziel gesetzt, die Spezifikation PDF 1,7 pixelgenau zu rendern. Die Arbeiten daran haben schon begonnen. Zudem soll die Architektur von pdf.js überarbeitet und die Verarbeitung mittels Web Workers parallelisiert werden. So sollen rechenintensive Aufgaben in den Hintergrund verlagert werden, damit sie den Hauptthread nicht blockieren.

Mozilla will pdf.js künftig zur Anzeige von PDF-Dokumenten im Browser einsetzen, so dass PDF-Dateien ohne Plugins dargestellt werden können. Aber auch andere Browser und Projekte sollen pdf.js nutzen können. Dazu steht der Code unter der sehr liberalen BSD-Lizenz.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Bankai 06. Jul 2011

und was willst du uns jetzt damit sagen? Das dieser 3 klassige Konverter das auch kann...

GodsBoss 06. Jul 2011

Warum in JS?

Trockenobst 06. Jul 2011

Wir nutzen PDF X-Change Viewer von TrackerSoftware fürs PDF schauen. 20 MB statt 150 wie...

Thread-Anzeige 05. Jul 2011

Pixelisten hilft sowas halt. Bis der Chef mit seinem Ipad ankommt oder andere Top-Manager...



Aktuell auf der Startseite von Golem.de
Fehlerhaftes Pedal
Tesla muss Cybertruck zurückrufen

Tesla hat beim Cybertruck einen erheblichen Rückschlag erlitten. Das Unternehmen hat eine Rückrufaktion für fast alle 3.878 Cybertrucks gestartet.

Fehlerhaftes Pedal: Tesla muss Cybertruck zurückrufen
Artikel
  1. Ghost Shark: Australien zeigt Prototyp einer riesigen Unterwasserdrohne
    Ghost Shark
    Australien zeigt Prototyp einer riesigen Unterwasserdrohne

    Die Royal Australian Navy hat zusammen mit Anduril Ghost Shark vorgestellt, eine U-Boot-Drohne, die Aufklärungs-, Überwachungs- und Erkundungsmissionen durchführen soll.

  2. US-Airforce: KI-Dogfights gegen menschliche Piloten getestet
    US-Airforce
    KI-Dogfights gegen menschliche Piloten getestet

    Die US-Luftwaffe hat erfolgreich einen Nahkampf zwischen dem X-62A-Testflugzeug mit KI-Steuerung und einem bemannten F-16-Kampfflugzeug durchgeführt.

  3. Voodoo-X: Bastler bauen eine neue 3dfx Grafikkarte
    Voodoo-X
    Bastler bauen eine neue 3dfx Grafikkarte

    Mit originalen Chips und neuen Designtools soll die bisher beste 3dfx-Grafikkarte entstehen. HDMI und zuschaltbaren Speicher gab es bisher nicht.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • Spring Sale bei Gamesplanet • Neuer MediaMarkt-Flyer • MindStar: AMD Ryzen 7 7800X3D 339€ • Bose Soundbar günstig wie nie • Samsung Galaxy S23 -37% • MSI OLED Curved 34" UWQHD 175Hz -500€ • Alternate: Deep Cool CH560 Digital Tower-Gehäuse 99,90€ • PS5-Spiele -75% [Werbung]
    •  /