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
Updates für GPT-3 und GPT-4
GPT im Geschwindigkeitsrausch

OpenAIs Updates für GPT-4 und GPT-3 machen die Modelle zuverlässiger, vor allem aber anpassungsfähiger. Die Änderungen und neuen Features im Detail.
Von Fabian Deitelhoff

Updates für GPT-3 und GPT-4: GPT im Geschwindigkeitsrausch
Artikel
  1. Candy Crushed: Royal Match wird profitabelstes Mobile Game
    Candy Crushed
    Royal Match wird profitabelstes Mobile Game

    Die langanhaltende Dominanz von Candy Crush Saga ist vorbei. Das meiste Geld verdient jetzt ein Start-up aus Istanbul mit einem Puzzlespiel.

  2. Datenschutz: ChatGPT-Exploit findet E-Mail-Adressen von Times-Reportern
    Datenschutz
    ChatGPT-Exploit findet E-Mail-Adressen von Times-Reportern

    Eigentlich sollte der Chatbot auf diese Anfrage gar nicht antworten. Tut er es dennoch, lauern womöglich noch viel brisantere Informationen.

  3. Donald E. Knuth: 30 Jahre Weihnachtsvorlesungen frei verfügbar
    Donald E. Knuth
    30 Jahre Weihnachtsvorlesungen frei verfügbar

    Ein bisschen theoretische Informatik, Algorithmen oder Mathematik zu Weihnachten? Wer das mag, kann nun sogar alle Vorlesungen hintereinander ansehen.

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 • TeamGroup Cardea Graphene A440 2 TB mit zwei Kühlkörpern 112,89€ • Logitech G915 TKL LIGHTSYNC RGB 125,11€ • AVM FRITZ!Repeater 3000 AX 129€ • Philips Ambilight 77OLED808 2.599€ • MindStar: Patriot Viper VENOM 64 GB DDR5-6000 159€, XFX RX 7900 XT Speedster MERC 310 Black 789€ [Werbung]
    •  /