pdf.js: PDF-Rendering mit HTML5 und Javascript
(Bild: pdf.js)

pdf.js

PDF-Rendering mit HTML5 und Javascript

Die Mozilla-Entwickler Chris Jones und Andreas Gal haben mit pdf.js eine Javascript-Bibliothek veröffentlicht, mit der sich PDF-Dokumente rendern lassen. So lassen sich PDF-Dateien im Browser ohne ein entsprechendes Plugin anzeigen.

Anzeige

Browser seien dafür gemacht, Texte, Linien und Bilder zu rendern und genau dies sei auch bei der Darstellung von PDF-Dateien gefordert, schreibt Gal. Und für Nutzer hätte es erhebliche Vorteile, wenn Browser PDF-Dateien direkt und ohne zusätzliche Applikationen oder Plugins anzeigen könnten: Es müsste zur PDF-Darstellung nicht länger die Applikation gewechselt werden, wie es auf vielen Endgeräten geschieht, und man käme auch um die gegebenenfalls zusätzlichen Sicherheitslücken der PDF-Programme herum.

Genau solch ein Lösung wollen Gal und Jones mit pdf.js liefern. Keinesfalls aber wollen sie damit für PDF werben, vielmehr wollen sie zeigen, dass solche Formate im Web unnötig sind. Die beiden arbeiten bereits seit einigen Monaten an pdf.js und der Code steht von Anfang an bei Github zur Verfügung. Mit einer Ankündigung wollten die beiden aber warten, bis einige große Funktionen umgesetzt wurden, beispielsweise die Unterstützung von Type1-Fonts und Farbverläufen. Nachdem aber immer mehr Entwickler auf ihr Projekt aufmerksam wurden und sich beteiligten, kündigten sie es nun früher als geplant offiziell an.

  • Pdf.js stellt PDF-Dateien mit HTML5 und Javascript im Browser dar.
  • Pdf.js stellt PDF-Dateien mit HTML5 und Javascript im Browser dar.
  • Pdf.js stellt PDF-Dateien mit HTML5 und Javascript im Browser dar.
Pdf.js stellt PDF-Dateien mit HTML5 und Javascript im Browser dar.

Im ersten Schritt geht es den pdf.js-Entwicklern darum, ein 2009 veröffentlichtes Dokument über Trace Compilation "pixel-perfekt" zu rendern. Noch kommt es dabei zu kleineren Problemen, aber die Demo von pdf.js ist nicht weit von diesem Ziel entfernt. Auch fehlt vor allem die Unterstützung von Type1-Postscript-Fonts, an der Vivien Nicolas derzeit arbeitet.

pdf.js liest PDF-Bytecode ein

Um die PDF-Dokumente zu rendern, liest pdf.js PDF-Bytecode ein und erzeugt daraus Javascript-Programme, die anschließend ausgeführt werden und in das Canvas-Element von HTML5 zeichnen. Chris Jones beschreibt dies als eine Art PDF-JIT. Auch komprimierte Daten im PDF-Bytestrom kann pdf.js in Javascript dekomprimieren.

Bei einigen in PDF vorhandenen Funktionen stießen die pdf.js-Entwickler aber an die Grenze dessen, was mit dem Canvas-Element möglich ist. Sie erweiterten es daher um neue Schnittstellen oder fanden Wege, die entsprechenden Funktionen in Javascript umzusetzen. Einige Dinge werden in Canvas aber nicht möglich sein, so Chris Jones und nennt Barrierefreiheit und das Drucken komplexer Canvas-Inhalte. Allerdings lassen sich die Inhalte mit Canvas recht schnell auf den Bildschirm bringen.

SVG statt Canvas

Um die Probleme mit Canvas zu lösen, ist geplant, parallel mit der Canvas-Darstellung auch eine SVG-Version des PDFs zu erzeugen. Das dauert länger, löst aber viele Probleme. Solange der Browser noch an der SVG-Version rechnet, zeigt er dann die Canvas-Version. Außerdem erwägen die Entwickler, WebGL zu nutzen, um das Rendering in Hardware zu beschleunigen.

Laut Gal ist geplant, pdf.js künftig in Firefox zu integrieren, um PDFs damit direkt im Browser anzuzeigen. Dazu sollen die am häufigsten verwendeten PDF-Funktionen implementiert werden, um einen Großteil der vorhandenen PDF-Dateien darstellen zu können. Gal geht davon aus, dass dieses Ziel schon in drei Monaten erreicht werden kann. Schon heute rendere pdf.js viele PDF-Funktionen und der Code sei gerade einmal einen Monat alt.

Bevor pdf.js aber in Firefox integriert wird, soll eine Firefox-Erweiterung auf Basis des Codes veröffentlicht werden.

Die Bibliothek pdf.js soll aber nicht nur in Firefox zum Einsatz kommen. Es gebe viele andere sinnvolle Einsatzzwecke, meint Gal. Daher soll pdf.js als communitygetriebenes Open-Source-Projekt entwickelt werden. Die Entwickler hoffen, dass pdf.js auch in andere Browser integriert wird und stellen den Code daher unter die sehr liberale BSD-Lizenz.


/mecki78 20. Jun 2011

Weil Javascript in so ziemlich jedem Browser läuft, ohne Plugins, die man erst...

/mecki78 20. Jun 2011

Also Murks kommt bei mir nicht raus, sieht bei mir genauso aus wie im Artikel angezeigt...

frugal 20. Jun 2011

ahh okay danke für die info :)

Netspy 20. Jun 2011

Verdana: keinen kursiven Schnitt

fiesemoepps 17. Jun 2011

Wenn ich hier im Firefox 4 final die Seiten sehr schnell wechsele, scheint er irgendwann...

Kommentieren



Anzeige

  1. Interne IT- und Operations-Mitarbeiter (m/w)
    ATIX AG, Unterschleißheim
  2. Berater (m/w) "SAP HR"
    Detecon International GmbH, Köln, Eschborn, München
  3. JEE-Entwickler (m/w)
    metafinanz, München
  4. Project Manager / Project Coordinator International (m/w)
    afb Application Services AG, München

 

Detailsuche


Spiele-Angebote
  1. PS4-Spiele reduziert
    (u. a. Lego der Hobbit 26,72€, The Crew 29,19€, Assassins Creed Unity 29,19€, The Wolf Among...
  2. The Elder Scrolls V: Skyrim Legendary Edition [PC Code - Steam]
    12,95€
  3. The Witcher 3: Wild Hunt
    44,99€ USK 18

 

Weitere Angebote


Folgen Sie uns
       


  1. BND-Sonderermittler Graulich

    Zen-Buddhist mit Billig-Smartphone und Virenscanner

  2. 5G-Norma-Projekt

    Nokia, Telekom und Telefónica wollen 5G festlegen

  3. Oberlandesgericht

    Youtube kann durch Gema in Störerhaftung genommen werden

  4. Timesyncd

    Systemd soll Googles Zeitserver nicht mehr verwenden

  5. DAB+

    WDR schaltet seine Mittelwellensender ab

  6. Apple Music

    Beats 1 kann auch mit Android-Geräten gehört werden

  7. Her Story

    Bei Mausklick Mord

  8. Android-Update

    Medion bringt Lollipop auf vier Tablets

  9. Bewerberplattform

    IT-Gehaltserwartung in deutschen Startups liegt bei 43.000 Euro

  10. First Flight

    Sony stellt Crowdfunding-Plattform für eigene Ideen vor



Haben wir etwas übersehen?

E-Mail an news@golem.de



E-Sport im Fußballstadion: Größer, professioneller - und weiter weg
E-Sport im Fußballstadion
Größer, professioneller - und weiter weg
  1. E-Sport Nächste ESL One Counter-Strike in Köln
  2. Dreamhack Leipzig E-Sport auf den Spuren der Games Convention
  3. E-Sport The International legt los

Linux Mint 17.2 im Test: Desktops ohne Schnickschack, aber mit Langzeitunterstützung
Linux Mint 17.2 im Test
Desktops ohne Schnickschack, aber mit Langzeitunterstützung
  1. Fedora 22 im Test Das Ende der Experimentierphase
  2. Linux Mint Cinnamon 2.6 verringert CPU-Last deutlich
  3. Linux-Distributionen im Test Rosa Desktop Fresh kooperiert mit aktueller Hardware

Airbus E-Fan 2.0: Elektromobilität geht auch in der Luft
Airbus E-Fan 2.0
Elektromobilität geht auch in der Luft
  1. Oneweb Airbus baut gigantische Internet-Satelliten-Konstellation
  2. Raumfahrt Airbus entwickelt wiederverwendbares Raketentriebwerk
  3. Airbus Flugzeugtragflächen sollen mit Piezoelementen Strom erzeugen

  1. Re: 3G ...

    TenogradR5 | 00:58

  2. Re: neue akkutechnik!

    Ach | 00:49

  3. Re: Fortschritt aufhalten

    Clarissa1986 | 00:48

  4. Re: Unterstützung für mehr Geräte wär besser

    Seitan-Sushi-Fan | 00:47

  5. Re: Bringt sich wenig...

    Seitan-Sushi-Fan | 00:33


  1. 20:54

  2. 18:49

  3. 17:32

  4. 16:55

  5. 16:33

  6. 16:05

  7. 15:22

  8. 15:04


  1. Themen
  2. A
  3. B
  4. C
  5. D
  6. E
  7. F
  8. G
  9. H
  10. I
  11. J
  12. K
  13. L
  14. M
  15. N
  16. O
  17. P
  18. Q
  19. R
  20. S
  21. T
  22. U
  23. V
  24. W
  25. X
  26. Y
  27. Z
  28. #
 
    •  / 
    Zum Artikel