CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

JavaScript : imprimer page Html

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
31 juillet 2007 à 14:32:10

:salut:

J´ai un problème qui peut sembler ridicule mais qui me prend la tete : j´arrive pas à imprimer une page Html comme je veux, via un clic sur une image.

Voici ce que j´ai essayé :

:d) document.write "<input type=button name=´Imprimer´ Value=´imprimer´ onclick=´Javascript : window.print()´></input>"

Lorsque je clique sur Imprimer, rien ne se passe. Alors que lorsque je créé ce même input dans une page Html vide, le bouton fonctionne ! :(
J´vois pas trop d´où ca peut venir.
Mon script contient d´abord qqes fonctions, et ´calculs´, puis le body, ainsi que des tableaux résultants des fonctions précédentes.

:d) document.write "<input type=button name=´Imprimer´ Value=´imprimer´ onclick=´VBScript: call WB.ExecWB(6,1)´></input>"

C´est la seule solution qui marche : la page est bien imprimée.
Mais au lieu d´un bouton, il serait plus joli de mettre une image ´cliquable´.

Alors j´ai essayé :

:d) document.write "<a href=""VBScript: WB.ExecWB(6,1)""><img src=´boutonImprimer.gif´></a><br>"

Sans succès :-(

Connaitriez vous une autre solution en Html, avec une fonction VbScript ou Javascript ?
Ce sont les seuls pr l´instant que j´ai trouvées sur Google...

:merci: :-d

godrik
godrik
Niveau 30
31 juillet 2007 à 14:41:34

Tu n´es pas obligé de d´écrire ton input en javascript. Tu peux directement le mettre dans ta page HTML.

Sinon, pour que l´on puisse comprendre ce qui se passe, il faudrait que tu nous donne directement la page HTML avec le javascript dedans. ou alors la page HTML tel qu´elle est apres modification par le javascript.

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
31 juillet 2007 à 15:19:13

Ok, merci pour ton aide :)

Donc voici un copier coller seulement de la partie "Apparence à l´écran" de ma page html.

Au dessus de ca, il y´a entre 2 balises les " calculs" pour les valeurs contenues dans le tableau. Les fonctions utilisées sont propres à l´entreprise dans laquelle je suis, donc j´pense pas que ca soit nécessaire que j´le mette :question:

J´ai donc :

<SCRIPT FOR=window EVENT=onload LANGUAGE="VBScript">

Fonctions, calculs des valeurs à mettre dans les tableau ...

</script>

document.write "<body>"
document.write "<Form name=´Page´>"
document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0
CLASSID=""CLSID:8856F961-340A-11D0-A96B-00C04FD705
A2""> </OBJECT>"
document.write "<input type=button name=´Imprimer´ Value=´imprimer´ onclick=´Javascript : window.print()´></input>"
´document.write "<input type=button name=´Imprimer´ Value=´imprimer´ onclick=´VBScript: call WB.ExecWB(6,1)´></input>"
´document.write "<a href=""VBScript: WB.ExecWB(6,1)""><img src=´boutonImprimer.gif´></a><br>"
´document.write "Test ==> " & test
if(ListCdInt(0) <> "" or ListCdInt2(0) <> "") then
´Tableau Appel d´offre
document.write "<br><br><a name=""Haut de page""></a><br>"
document.write "<table style=´font-family: arial; border-style: none; text-align: left; width: 85%;´ border=´1´ bordercolor=#000000 cellpadding=´0´ cellspacing=´0´>"

document.write "<tr bgcolor=´RGB(94, 187, 204)´><td colspan=4>I. Appel d´offres</td></tr>"

document.write "<tr bgcolor=#CCFFFF><td width=20% align=middle>Marché</td>"
document.write "<td width=20% align=middle>Statut</td>"
document.write "<td width=30% align=middle>Description</td>"
document.write "<td width=35% align=middle>Période</td></tr>"

document.write "<tr>"
for j = 0 to compteurAO - 1
´document.write "<td width=15%><a href=´#Marche" & ListCdInt(j) & "´>" & ListCdInt2(j) & "</a></td>"
document.write "<td width=15%><a href=´#Marche" & ListCdInt(j) & "´>" & ListCdInt(j) & "</a></td>"
document.write "<td width=20%>" & ListEtat(j) & "</td>"
document.write "<td width=30%>" & ListDesc(j) & "</td>"
document.write "<td width=35%>Du " & ListDateDeb(j) & " Au " & ListDateFin(j) & "</td></tr>"
next

document.write "</table><br><br>"

Bon y´a d´autres tableaux en dessous, mais j´ai un peu abrégé :)

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
31 juillet 2007 à 15:21:11

Désolé j´me suis trompé : toute la partie des document.write est aussi entre les 2 balises <script> </script>

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
31 juillet 2007 à 16:20:42

J´ai essayé de mettre un lien pour imprimer la page en dehors de balises <script> et ca marche.

Donc apparamment, c´est ca qui bloque.
Mais c´est pas possible que j´mette le lien en dehors de la partie <script></script> car cette dernière se charge directement à l´ouverture de la page, et donc le lien est "écrasé" par la nouvelle page avec les tableaux.

Mais j´comprend pas pourquoi la fonction VBScript ne fonctionne qu´avec un bouton et pas avec un lien... :snif2:

deepblue
deepblue
Niveau 16
31 juillet 2007 à 22:24:28

<la_balise_que_tu_veux onclick="window.print()" />

exemples :

<a onclick="window.print()" />imprimer</a>
<input type="button" onclick="window.print()" />imprimer</a>

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
01 août 2007 à 10:40:30

Je viens de réussir !

deepblue : oui, c´est à peu près ce que j´essayais auparavant
Mais j´ai ensuite tenté :

document.write "<br><br><a href=´#´ onclick=´VBScript: call WB.ExecWB(6,1)´><img src=BoutonImprimer.gif /></a><br>"

Et ca marche !

Je vais juste chercher comment faire pour imprimer toute la page sauf le bouton Imprimer, et sans le pied de page.

Si qqn a une idée de la commande, ca serai cool :)

deepblue
deepblue
Niveau 16
01 août 2007 à 13:14:47

met pas de document.write(ce que j´ai mis), sinon c´est logique que ça ne fonctionne pas !

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
01 août 2007 à 15:01:49

Justement, j´suis obligé de les mettre car c´est dans le script : le script affiche des tableaux dès le chargement de la page. J´avais déjà essayé sans les document.write.

Donc si je met les window.print sans les document.write, alors le lien ´Imprimer la page´ n´apparait pas car c´est la page html générée par le script qui apparait.

Mon lien doit donc etre généré par le script.

deepblue
deepblue
Niveau 16
01 août 2007 à 17:30:50

en ben coupe le script, ecris le en dur entre tes tableaux

<SCRIPT FOR=window EVENT=onload LANGUAGE="VBScript">
partie 1 du tbl
</script>
lien pour imprimer
<SCRIPT FOR=window EVENT=onload LANGUAGE="VBScript">
partie 2 du tbl
</script>

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
13 août 2007 à 13:54:23

:up:

En fait, ca y´est : le lien imprime bien la page HTML :

document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0
CLASSID=""CLSID:8856F961-340A-11D0-A96B-00C04FD705
A2""> </OBJECT>"

document.write "<br><br><a href=´#´ onclick=´VBScript: call WB.ExecWB(6,1)´><img src=BoutonImprimer.gif title=´Cliquez ici pour imprimer la page´ /></a><br>"

Le problème, c´est que je souhaiterai que le clic sur l´image imprime la page en format paysage.

Je cherche sur le net, j´ai trouvé "size:landscape" à mettre dans le code CSS, mais apparamment, l´impression en VBScript ne fait pas attention au Css :-(

Voila j´espère que c´est clair, et merci de votre aide.

esclave_bu5
esclave_bu5
Niveau 6
13 août 2007 à 15:44:38
  1. godrik profil
  2. Posté le 31 juillet 2007 à 14:41:34 avertir modérateur
  3. Tu n´es pas obligé de d´écrire ton input en javascript. Tu peux directement le mettre dans ta page HTML.

Je conseillerai plutôt de l´écrire en javascript...
Parce que si le client a le javascript désactivé, il a un bouton "imprimer" qui lui sert à rien...
Bref, question accessibilité, autant l´écrire en javascript. :(

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
13 août 2007 à 15:50:54

En fait, j´suis un peu condamné à l´écrire en VbScript car tout le reste est en VBS. :-(
Changer tout ca en Javascript, c´est vrai que ca serait + pratique, mais trop long, et j´suis un peu pressé par le temps.

Deepblue :d) En fait le event=onload semble effacer tout ce qu´il y´a à l´écran précédemment, donc le lien n´apparait plus :-(
Merci kan meme de votre aide.

Pour l´instant, je cherche encore comment imprimer en paysage avec WB.ExecWB.
En CSS, tous les navigateurs ne semblent pas compatibles pour :
@page :{size:landscape;}

Zaraki-Kempachi
Zaraki-Kempachi
Niveau 10
13 août 2007 à 17:05:04

Bonne nouvelle, j´ai diminué la taille de police, et plus besoin de chercher à imprimer en paysage ! :content:

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment