Bonjour,
je veux afficher un fichier pdf dans ma page jsf,
qu'elle tag utilisé et comment il faut passer le rapport au tag choisit.
merci d'avance
Bonjour,
je veux afficher un fichier pdf dans ma page jsf,
qu'elle tag utilisé et comment il faut passer le rapport au tag choisit.
merci d'avance
il n'y a pas de tag en html pour afficher un document, mis à part éventuellement la balise <object> dans certains cas. Le plus simple c'est de faire un lien qui ouvrira le pdf dans une nouvelle page. Pour servir le document, tout dépend de comment tu récupère ce document, mais souvent on utilise une servlet dédiée. Si tu travaille avec la librairie jsf tomahawk, tu peux éventuellement aussi utiliser la méthode
qui laissera tomahawk se charger de la fourniture du document (ressourcehander à écrire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 org.apache.myfaces.renderkit.html.util.AddResourceFactory.getInstance(facesContext) .getResourceUri(facesContext,resourceshandler,boolean)
est ce que c'est possible d'afficher le pdf dans un composant par exemple dans un rich:panel.
si oui est ce que <object> le fera
n'y compte pas trop. Au mieux si le user a les plugins, object marchera plus ou moins, mais ca aura vraisemblablemnt des ocnséquences sur la présentation de ta page. Un pdf ca prend autre chose comme place qu'une image. C'est un document à part entière. Note que si le user n'a pas le plugin adobe installé, il ne verra surement rien. Alors que si tu proposait juste un téléchargement il saurait le lire.
D'accord avec Tchize, le plus simple est de faire un lien vers le fichier PDF.
Si toutefois tu dois vraiment l'afficher directement dans une zone, tu peux à ce moment là te créer un applet java pour l'afficher par exemple. Il existe des librairies gratuites pour visualiser des pdf que tu peux embarquer dans ton applet, mais j'ai peur que ça la rendre assez lourde. Sinon, regarde du côté de flash, JavaFX ou silverlight, il existe peut-être une solution simple pour afficher un pdf ? Mais bon, c'est quand même lourd à mettre en place, bien plus que la solution du lien !
le iframe ne fera pas l'affaire ?
un iframe étant un document séparé, tu peux de fait y mettre ce que tu veux.
Je l'ai fait sur un de mes projets : j'ai utilisé l'Iframe.
A savoir que comme l'affichage du pdf est géré par le navigateur, il peut te demander de le télécharger si tu n'as pas les plugins d'affichage appropriés.
Je crois qu'il existe sinon une autre solution : le lecteur flash... mais je ne maitrise pas du tout cette méthode (qui me semblait trop couteuse en coût de développement par rapport à l'Iframe ).
comment utiliser cet iframe, j'ai essayé comme suit:
mais pas de résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <iframe src="file://C:/dev/jboss-4.2.2.GA/bin/rapports/PdfGenerer.pdf" width="800" height="600" align="middle"></iframe>
Le pdf doit être dans ton serveur d'application comme n'importe quelle page ou image... on attaque jamais une page ou une image qui se trouve sur le disque dur .
Met le dans un dossier fichier sur ton serveur d'application et accède y comme si tu faisais un lien... ça devrait passer.
comme je peux faire cela :
ce fichier est bien dans le dossier bin de mon serveur d'application, pour etre sure de cela si je j'ouvre dans mon naviguateur le lien suivant :
file://C:/dev/jboss-4.2.2.GA/bin/rapports/PdfGenerer.pdf
il m'affiche le pdf.
Le problème c'est que tu utilise un lien direct vers le disque dur au lieu d'utiliser un lien qui passe par ton jboss. Comme on te l'a dit, dans une page web, on attaque jamais directement un fichier du disque dur, tout dois passer par le serveur. Ls browser refusent le contenu mixte pour des raisons de sécurité!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager