lundi 30 novembre 2009

Afficher un PDF dans un navigateur sans plugin

Lorsque l'on souhaite afficher un document PDF dans une application web, généralement on a recourt à un plugin comme Acrobat reader. Soit le PDF est afficher dans le navigateur, soit il est afficher dans une fenêtre externe au navigateur.
Cela pose un certain nombre de problèmes, car l'application web n'a pas de prise sur le plugin. Il n'est donc pas possible de customiser l'affichage (gestion des toolbars, réglage du zoom, etc...).
D'autre part, il y a des problèmes d'affichage qui peuvent apparaitre d'un navigateur à un autre. Avec notamment la gestion du z-index qui n'est pas du tout gérer de la même manière sous Firefox, Internet Explorer et Webkit.

Heureusement, il existe une autre solution : le viewer fournit par Google Docs.
Pour l'utiliser rien de plus simple : il faut appeler une iframe avec en url le viewer et en paramètre l'url du document à afficher. Voici un exemple :

Frame f = new Frame();
f.setUrl("http://docs.google.com/viewer?url=http%3A%2F%2Flabs.google.com%2Fpapers%2Fbigtable-osdi06.pdf&embedded=true");


Cependant, il existe quelques problèmes. Le premier est de devoir exposer les fichiers PDF sur internet. Ce problème peut être résolu en utilisant une servlet sécurisé qui fournie le flux PDF. Le second problème est l'impression des documents qui nécessite d'avoir un reader installé sur le poste client. Espérons que les prochaines améliorations du viewer Google Docs permettent l'impression propre prise en charge par le navigateur.
Affaire à suivre...

Aucun commentaire:

Enregistrer un commentaire