Developpez.com

Plus de 2 000 forums
et jusqu'à 5 000 nouveaux messages par jour

Les PDF succombent à la tentation du HTML5 et du JavaScript
Pdf.js : un projet de la fondation Mozilla

Le , par Idelways, Expert éminent sénior
Les navigateurs reposent à présent sur des plug-ins pour afficher les fichiers PDF, mais cela pourrait bientôt changer avec la révélation d'un nouveau projet de la fondation Mozilla.

Ce projet en développement depuis quelques mois s'appelle « pdf.js ». Il substitue d'une manière encore perfectible, mais prometteuse, les rendu des plug-ins avec la balise <Canvas> (de dessin 2D en HTML5), pilotée par du JavaScript.

Une démonstration disponible sur le site du contributeur principal du projet (le chercheur Andreas Gal) permet de parcourir les pages d'un fichier PDF d'exemple, riche en combinaisons de textes et d'illustrations, ou d'essayer avec son propre document.

À présent, cette démonstration charge tous les fichiers du projet, cible et prépare manuellement l'affichage du PDF, mais son équipe affiche l’ambition de l'intégrer bientôt à Firefox en passant par la case d'extension, tout en stabilisant le produit.

Les membres de l'équipe estiment qu'il leur faut moins de 3 mois pour prendre en charge la majorité des fonctionnalités communément utilisées dans les PDF.

L'initiative de la fondation Mozilla promet en outre d'être plus sure que le plug-in populaire Adobe, car le code JavaScript n'a pas accès aux mêmes privilèges que le code natif, ce qui devrait grandement compliquer la tâche des pirates.

En ce sens, il convient de rappeler que ce projet a un concurrent qui permet de lire des PDF depuis quelques versions sur Google Chrome, sans plug-in supplémentaire.
La différence est toutefois de taille : le Reader de Chrome est codé en natif alors que celui de la fondation repose entièrement sur les standards du Web.



Ce projet est rendu possible, tout d'abord, grâce à la prise en charge avancée des standards SVG et du module Canvas, mais surtout l'amélioration drastique en terme de performances du rendu graphique et des moteurs JavaScript sur les navigateurs modernes, Mozilla Firefox en l'occurrence.

Décidément, JavaScript est partout, même là où on le soupçonnait le moins.

Démonstration sur cette page
Le code source de pdf.js est accessible sur cette page

Source : blog d'Andreas Gal

Et vous ?

Qu'en pensez-vous ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Uther Uther - Expert éminent http://www.developpez.com
le 28/06/2011 à 9:10
Citation Envoyé par Wormus  Voir le message
Alors ça c'est une très bonne nouvelle !
Pouvoir créer un PDF directement en Javascript et HTML5, ça va me faciliter les choses. Ayant l'habitude d'utiliser PHP pour le faire avec des librairies comme fpdf ou tcpdf qui sont limité ou mal documenté c'était pas toujours évident et puis ça nécessité d'avoir un Adobe Reader derrière par exemple.

Je crois que tu as mal compris. Il ne s'agit pas de créer des PDF mais de les consulter. Il s'agirait en fait d'une extension un peu comme le plugin Reader actuel. La seule différence est qu'elle est programmée avec HTML5/Javascript. Ce qui la rend plus sure.

Si tu veux faire du pdf ent html, tu devrais regarder du coté de http://html2pdf.fr/

Citation Envoyé par Paul TOTH  Voir le message
Personnellement je trouve que c'est une très mauvaise idée.

Les navigateurs sont fait pour consulter des sites web, pas des documents PDF.

A une époque j'aurai été d'accord, mais aujourd'hui les navigateur navigateurs sont déjà tous capable de faire beaucoup plus de chose qu'afficher des sites web (images, video, ftp, ...).
Le PDF est un format comme tu le dit très pratique dans certains cas bien particuliers (document techniques le plus souvent), je ne pense pas que l'on aura des abus de pdf comme on a pu abuser de flash a une époque.
Avatar de gokudomatic gokudomatic - Membre régulier http://www.developpez.com
le 28/06/2011 à 9:41
Citation Envoyé par Tab  Voir le message
Sans aller si loin (le "très") je suis plutôt d'accord, on perd beaucoup dans l'utilisation première de ce type de document : être portable (d'où le nom de pdf me semble-t-il).

Un document consultable en ligne bien présenté c'est le rôle de (X)HTML, en proposer une copie PDF ok mais pas afficher le PDF directement quelque soit la technique. Néanmoins si on peut faire l'inverse : générer un PDF à partir de l'arbre DOM avec cette bibliothèque c'est

Perso mon firefox est configuré pour enregistrer les PDF par défauts : ni les afficher in-browser ni lancer adobe, juste les enregistrer donc je rejoins totalement Paul TOTH.

J'ai du mal à voir le mal dans la conception d'un autre pdf reader, même si c'est fait purement en javascript. ça ne rendra pas le fichier pdf moins portable, mais ça permettra de s'affranchir de l'installation d'un executable reader, sans compter le bénéfice du sandbox que procure le navigateur.
Personnellement, je vois ce projet d'un bon oeil.
Avatar de vintz72 vintz72 - Membre actif http://www.developpez.com
le 28/06/2011 à 9:47
J'ai testé le lien avec FF5 : ça marche très mal. Il manque les 3/4 de la page, certaines sont même complètement vide. C'est possible que ce soit un problème de driver cela dit, parce que par exemple Angry birds ne fonctionne pas non plus son mon FF (du boulot).
Avatar de dtcSearch dtcSearch - Membre actif http://www.developpez.com
le 28/06/2011 à 9:53
Pour lire les PDF, y'a vraiment peu d'intérêt,
Chrome intègre déjà son propre Viewer natif qui suffit à la lecture de PDF, les autres vont suivre sous peu.

En créer par contre ça pourrai être bien plus intéressant, pouvoir les créer à la voler en utilisant les ressources du client, quand on connait le temps que ça prend avec TCPDF par exemple...
Avatar de Uther Uther - Expert éminent http://www.developpez.com
le 28/06/2011 à 10:07
Citation Envoyé par vintz72  Voir le message
J'ai testé le lien avec FF5 : ça marche très mal. Il manque les 3/4 de la page, certaines sont même complètement vide. C'est possible que ce soit un problème de driver cela dit, parce que par exemple Angry birds ne fonctionne pas non plus son mon FF (du boulot).

C'est pas pour rien qu'il ne s'agit que d'une démonstration technique:
"Les membres de l'équipe estiment qu'il leur faut moins de 3 mois pour prendre en charge la majorité des fonctionnalités communément utilisées dans les PDF."
Avatar de ner0lph ner0lph - Membre averti http://www.developpez.com
le 28/06/2011 à 10:54
Citation Envoyé par Wormus  Voir le message
Alors ça c'est une très bonne nouvelle !

Non, ce n'est pas au navigateur de faire ça, les PDF ne font pas partie intégrante d'une page web, ce sont des annexes.
Citation Envoyé par Wormus  Voir le message
Pouvoir créer un PDF directement en Javascript et HTML5, ça va me faciliter les choses.

Sauf erreur de ma part, il s'agit de lire, pas de créer.
Citation Envoyé par Wormus  Voir le message
et puis ça nécessité d'avoir un Adobe Reader derrière par exemple.

Non. Il suffit d'avoir un lecteur de PDF, comme les logiciels libres Sumatra PDF sous Windows, Evince sous GNU/Linux, etc. Adobe Reader est totalement inutile dans 97 % des cas (taux pifométrique personnel).
Avatar de kdmbella kdmbella - Expert éminent http://www.developpez.com
le 28/06/2011 à 11:04
super cette trouvaille de FF cella montre encore que le web de demain se fera avec JS et donc ça m'encourage encore à mieux apprendre ce langage. d'autre part le HTML5 monte aussi en puissance ce qui promet un web futur super léger
Avatar de Wormus Wormus - Membre actif http://www.developpez.com
le 28/06/2011 à 11:43
Citation Envoyé par Uther  Voir le message
Je crois que tu as mal compris. Il ne s'agit pas de créer des PDF mais de les consulter. Il s'agirait en fait d'une extension un peu comme le plugin Reader actuel. La seule différence est qu'elle est programmée avec HTML5/Javascript. Ce qui la rend plus sure.

Si tu veux faire du pdf ent html, tu devrais regarder du coté de http://html2pdf.fr/

Citation Envoyé par Paul TOTH  Voir le message
Personnellement je trouve que c'est une très mauvaise idée.

Les navigateurs sont fait pour consulter des sites web, pas des documents PDF.

on a déjà trop de sites web qui proposent de consulter des documents PDF en ligne. Si le navigateur (que ce soit via un plugin Adobe, ou du JS) propose nativement de lire du PDF, on aura encore plus de contenu en ligne au format PDF.

Je me suis surement emballé en pensant que ça aller permettre la création d'un PDF (en utilisant que la partie client) et donc mon intérêt retombe énormément si ce n'est qu'un viewer.

Par contre, @Paul TOTH, je ne suis pas vraiment d'accords avec ce que tu dis : OUI, il ne faut pas que ça pousse les gens à mettre du PDF partout sur internet mais je ne pense pas que ça arrive à ça un jour et ceux qui feront ça seront soit dans un cas bien particulier soit des imbéciles.
mais NON, internet ce n'est pas que des sites web ! effectivement sur un site web l'intérêt et quasiment nul mais moi sur le web, je fais (surtout) des applications pas des sites et pour imprimer par exemple c'est quasiment impossible de pas utiliser du PDF.
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior http://www.developpez.com
le 28/06/2011 à 13:43
Citation Envoyé par Wormus  Voir le message
Je me suis surement emballé en pensant que ça aller permettre la création d'un PDF (en utilisant que la partie client) et donc mon intérêt retombe énormément si ce n'est qu'un viewer.

Par contre, @Paul TOTH, je ne suis pas vraiment d'accords avec ce que tu dis : OUI, il ne faut pas que ça pousse les gens à mettre du PDF partout sur internet mais je ne pense pas que ça arrive à ça un jour et ceux qui feront ça seront soit dans un cas bien particulier soit des imbéciles.

il y a plus d'imbéciles que tu ne le penses

en fait il y a des sites qui exploitent le format PDF pour la simple et bonne raison qu'ils rédigent leurs articles sous Open/MS Office et qu'il devient alors naturel de publier au format PDF pour ne pas avoir à choisir entre DOC et ODT

Citation Envoyé par Wormus  Voir le message
mais NON, internet ce n'est pas que des sites web ! effectivement sur un site web l'intérêt et quasiment nul mais moi sur le web, je fais (surtout) des applications pas des sites et pour imprimer par exemple c'est quasiment impossible de pas utiliser du PDF.

alors je n'ai pas parlé d'Internet (qui ne se limite pas au Web) mais bien des navigateurs.

quand aux applications (90% de mon boulot actuellement), en effet la génération à la volée d'un document PDF et sans doute le meilleurs moyen pour produire un document imprimable correctement....or donc il n'est pas ici question d'afficher un PDF, mais de produire un document que à peu près tout le monde pourra imprimer correctement...et là je demande à voir ce que donne un Fichier/Imprimer sur une page HTML5 avec Canvas contenant un PDF de 15 pages !
Avatar de Uther Uther - Expert éminent http://www.developpez.com
le 28/06/2011 à 14:13
Citation Envoyé par Paul TOTH
en fait il y a des sites qui exploitent le format PDF pour la simple et bonne raison qu'ils rédigent leurs articles sous Open/MS Office et qu'il devient alors naturel de publier au format PDF pour ne pas avoir à choisir entre DOC et ODT

- ces sites là ne sont vraiment pas légion, et je doute qu'ils le deviennent.
- de toute façon ca ne change rien par rapport a l'utilisation d'un plugin.
- est-ce vraiment grave? Je préfère largement ça à du HTML généré par Word.

Citation Envoyé par Paul TOTH
or donc il n'est pas ici question d'afficher un PDF, mais de produire un document que à peu près tout le monde pourra imprimer correctement...et là je demande à voir ce que donne un Fichier/Imprimer sur une page HTML5 avec Canvas contenant un PDF de 15 pages !

Si jamais ça arrive en stade final, il me parait évident que ce problème sera pris en compte. Je trouve idiot de critiquer ce qui n'est encore qu'un début de démo technique comme s'il s'agissait d'un produit fini.
Avatar de ner0lph ner0lph - Membre averti http://www.developpez.com
le 28/06/2011 à 14:44
Citation Envoyé par Uther  Voir le message
Si jamais ça arrive en stade final, il me parait évident que ce problème sera pris en compte.

Oui : la fonction « Imprimer… » sera désactivée…
Offres d'emploi IT
Consultant confirmé SAP BI BW/IP (h/f)
Atos Intégration - Ile de France - Bezons
Ingénieur d’étude java/jee h/f
UTIGroup. - Rhône Alpes - Lyon (69000)
H/F Assistant développeur BI
1000MERCIS - Ile de France - Paris (75000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil