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

Le , par Idelways

0PARTAGES

7  0 
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 28/06/2011 à 6:29
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.

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.
4  3 
Avatar de gokudomatic
Membre régulier https://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.
2  0 
Avatar de Tab
Membre averti https://www.developpez.com
Le 28/06/2011 à 8:24
Citation Envoyé par Paul TOTH Voir le message
Personnellement je trouve que c'est une très mauvaise idée.
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.
1  1 
Avatar de Uther
Expert éminent sénior https://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.
1  0 
Avatar de kdmbella
Expert éminent https://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
1  0 
Avatar de Paul TOTH
Expert éminent sénior https://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 !
1  2 
Avatar de Uther
Expert éminent sénior https://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.
1  0 
Avatar de Wormus
Membre actif https://www.developpez.com
Le 28/06/2011 à 0:01
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.
0  3 
Avatar de ValCapri
Membre régulier https://www.developpez.com
Le 28/06/2011 à 1:22
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.
0  0 
Avatar de vintz72
Membre actif https://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).
0  1 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web