Les PDF succombent à la tentation du HTML5 et du JavaScript
Pdf.js : un projet de la fondation Mozilla
Le 2011-06-27 23:25:47, 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 ?
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.
Source : blog d'Andreas Gal
Et vous ?
-
gokudomaticMembre régulierJ'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.le 28/06/2011 à 9:41 -
Paul TOTHExpert éminent séniorPersonnellement 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.
Maintenant le format PDF a un intérêt certain dans l'édition de rapport, c'est un format connu, "tout le monde" peut lire les PDF et les impressions sont fidèles à l'original, tout cela avec un poids réduit. C'est un format très adapté aussi pour la consultation hors ligne (comme utilisé par les articles de développez.com). Personnellement dans 95% des cas je fais un "clic droit/enregistrer sous", ou pire je dois rechercher l'URL du document quand celui-ci s'ouvre via un appel Javascript afin de télécharger le document pour l'ouvrir - une fois totalement téléchargé - sous Adobe Reader au lieu de l'avoir dans le navigateur.
Et quand on regarde la démo proposée, le document - quand il s'affiche - est sous forme d'image dont le texte ne peut être sélectionné. C'est sans doute un bel effort technique, mais je suis contre son utilisation.le 28/06/2011 à 6:29 -
UtherExpert éminent séniorJe 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/
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.le 28/06/2011 à 9:10 -
kdmbellaExpert éminentsuper 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égerle 28/06/2011 à 11:04
-
UtherExpert éminent sénior
Envoyé par Paul TOTH
- 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.Envoyé par Paul TOTH le 28/06/2011 à 14:13 -
ValCapriMembre habituéEn effet, c'est une très bonne nouvelle. On va pouvoir se débarrasser du plugin PDF d'adobe, en plus il ne fonctionne pas sous Firefox 5 Mac.
Espérons que ça nous aide aussi au nouveau de la conversion XML > PDF par ex.le 28/06/2011 à 1:22 -
TabMembre avertiSans 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.le 28/06/2011 à 8:24 -
dtcSearchMembre actifPour 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...le 28/06/2011 à 9:53 -
UtherExpert éminent séniorC'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."le 28/06/2011 à 10:07 -
ner0lphMembre avertiNon, 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.
Sauf erreur de ma part, il s'agit de lire, pas de créer.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).le 28/06/2011 à 10:54