Version complète: sur le forum Webmaster Hub : Imprimer sans boîte de dialogue
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > AjaX et JavaScript
NiGhMa
Bonjour,

Pour imprimer une page web j'utilise la fonction print() de javascript. Cependant, à chaque fois, il y a une fenêtre de dialogue qui s'affiche.

Comment puis-je ne pas faire apparaitre cette fenêtre ?

Aussi, peut-on choisir l'imprimante sur laquelle va sortir l'impression ?

Merci
Dadou
non, et encore heureux
KnockedMaster
C'est possible en passant par la classe FPDF pour php, et plus précisément en utilisant une sous classe de FPDP qui permet l'impression sans boite de dialogue via du javascript.
captain_torche
Pourrais-tu citer un exemple ? Parce que pour l'instant, je ne vois pas ce que tu veux dire.
Dadou
D'après ce que j'ai lu, les documents PDF peuvent intégrer du javascript http://partners.adobe.com/public/developer/pdf/topic_js.html , et ce dernier peut gérer la fenêtre d'impression si désiré, et donc la librairie fpdf permet cette fonctionnalité : http://www.fpdf.org/fr/script/script36.php
Portekoi
Bonjour,

C'est possible et je l'utilise sous IE 6 :

CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MOn Document</title>
<meta name="description" content="">
<meta name="keywords" content="">
</head>
<script language="JavaScript">
DA = (document.all) ? 1 : 0;
function handle_error() {
alert("\nErreur : utilisez le boutton Print du navigateur.")
return true;
};
function fermer(){
opener = self;
self.close();
};
</script>
</head>
<body style="height:100%; padding:0px; margin:0px" onload="window.print();">
<script language="VBScript">
sub window_onunload
on error resume next
set WB = nothing
on error goto 0
end sub

sub print
OLECMDID_PRINT = 6
OLECMDEXECOPT_DONTPROMPTUSER = 2
OLECMDEXECOPT_PROMPTUSER = 1
on error resume next
if DA then
call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER,1)
else
call WB.IOleCommandTarget.Exec(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER,"","","")
end if
if err.number <> 0 then
if DA then
alert "Erreur :" & err.number & " : " & err.description
else
handle_error
end if
end if
on error goto 0
end sub

if DA then
wbvers="8856F961-340A-11D0-A96B-00C04FD705A2"
else
wbvers="EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B"
end if

document.write "<OBJECT ID=""WB"" WIDTH=0 HEIGHT=0 CLASSID=""CLSID:"
document.write wbvers & """> </OBJECT>"
</script>

<!-- Ton html ici -->

</body>
</html>


Pour le choix de l'imprimante, non, cela n'est pas possible.


Portekoi
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.