Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# Aperçu avant impression... Rafraichissement et mise en place.

Envoyé par : Raphael

Date : 22/01/2007 13:34

Bonjour, j'ai une fenêtre qui contient 2 onglets :

  • Le code du Template appliqué à mes données
  • Un "aperçu avant impression" pour voir ce que ça va imprimer.

Voilà mon approche :

  • En fait, je crée un fichier HTML grâce à mes données et mon système de Template.
  • Je charge mon fichier HTML dans un <browser>
  • J'ai un bouton "Imprimer" qui lance :
document.getElementById('preview').contentWindow.print();

Problème : En fait, j'ai juste un mini-navigateur qui traduit mon fichier HTML mais comme ma fenêtre est petite et bien toute ma mise en page se casse la gueule, et ça n'est plus du tout un aperçu avant impression... De plus, le fond est de la couleur de mon skin évidemment, et ce n'est pas du tout une page blanche.

Bref, en fait ce n'est pas du tout un "aperçu avant impression". J'ai cherché un peu sur le Wiki, sur XULPLanet mais rien de concluant.

En effet http://xulfr.org/wiki/RessourcesLibs/Pri(..) a l'air de travailler comme moi en remplissant un <browser> mais sans se servir d'une vraie preview... ou alors j'ai râté quelque chose (car j'ai essayé cette méthode et ça marche pas trop...). Je travaille avec XUlrunner 1.9a1.

Voici grossomodo mon code :

<browser id="preview" flex="1" />
<button oncommand="document.getElementById('preview').contentWindow.print();">

et mon JS au chargement :

document.getElementById('preview').setAttribute('src',"file://" + htmlfile.path);

Quelle est la méthode pour avoir un vrai "aperçu avant impression" ? Car la méthode du Wiki semble ne pas fonctionner pour moi, ou alors je dois être neuneu pour ne pas avoir su l'adapter à mon code... =/

Sinon, avec un listbox, je change le Template à appliquer, ce qui recréé un fichier HTML... mais mon browser ne réactualise pas... comment faire pour rafraichir mon fichier HTML contenu dans le Browser ? Dois-je donner une autre source temporaire pour remettre la bonne ou y-a-t-il plus propre ?

Merci d'avance pour votre aide.

PS : Y-a-t-il un moyen pour utiliser directement ma variable texte contenant mon fichier HTML ? Ou bien suis-je obligé de créer mon fichier pour le charger et ensuite l'effacer ?

# Re: Aperçu avant impression... Rafraichissement et mise en place.

Envoyé par : hhf

Date : 23/01/2007 02:18

j'ai pas tout saisie ton probleme (il est tard faut dire) ceci dit pour ton PB de rafraichissement, que dirais tu rajouter un argument factice à ton url style :

 document.getElementById('preview').setAttribute('src',"file://" + htmlfile.path+"?seed="+Math.random());

Comme ca tu est sur que ca rechargera à chaque coup.

Bon j'esperes que ca reponds à une de tes question, j'avous avoir lu en diagonale...;-D

# Re: Aperçu avant impression... Rafraichissement et mise en place.

Envoyé par : Raphael

Date : 24/01/2007 08:53

Oki, bonne astuce pour le rafraichissement... c'était la fin de ma question. =)

En fait le principal problème est de pouvoir avoir un "aperçu avant impression" car d'après les infos que j'ai trouvé, je ne trouve pas un vrai aperçu : En fait, c'est juste un <browser> qu'on remplie avec un fichier HTML, du coup mon fichier s'adapte à la dimension de ma fenêtre, et c'est pas cool... Je voudrais un vrai aperçu, de manière à ce que je vois vraiment ce qui va être imprimé, et que ma page HTML soit considérée comme une image avec un fond blanc, comme tous les aperçus avant impression quoi.

Merci d'avance.

# Re: Aperçu avant impression... Rafraichissement et mise en place.

Envoyé par : Raphael

Date : 29/01/2007 08:58

Je me permets un petit UP en ce Lundi matin... =)

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.