Page 1 sur 1

javascript et fpdf

Posté : 10 juil. 2005, 11:51
par guy
Bonjour

J'utilise fpdf pour generer des document pdf et j'utilise les script
http://www.fpdf.org/fr/script/script36.php pour forcer l'impression automatique des document generes.
Je cherche a pouvoir choisir le nombre d'impression du document du document generé afin de pouvoir imprimer plusieurs fois la meme page sans aucune action de la part de l'utilisateur.
Une idée ?
je cherche aussi à pouvoir fermer la fenetre automatiquement une fois le document envoyé à l'impression.
merci
Guy

Posté : 10 juil. 2005, 12:13
par Cyrano
À mon avis, le JavaScript ne suffira pas, il faudrait enployer des contrôles ActiveX pour avoir une prise sur la boite de dialogue d'impression de l'utilisateur qui doit de toutes façon confirmer l'impression en choisissant éventuellement sur quelle imprimante exécuter le travail. Il faudrait ensuite qu'une fois le document envoyé vers l'imprimante tu renvoies un retour vers le Javascript our déclencher un window.close()

Comme les contrôles ActiveX sont désactivés les 3/4 du temps chez les internautes, j'ai quelques doutes... :-k

Posté : 10 juil. 2005, 12:21
par guy
:tir2: ActiveX ==> :afraid: :afraid: :afraid:
Beurk je vais quand meme me taper les 680 page du javasript scripting reference d'acrobat pour voir en plus ca peut pas faire de mal.
Guy

Posté : 10 juil. 2005, 12:23
par guy
ou alors je genere mon pdf plusieurs fois dans le meme document !
bon ca demande plus de ressources serveur pour pas grand chose mais bon ....
Guy

Posté : 10 juil. 2005, 12:26
par Cyrano
Tu peux envoyer une boite d'alerte demandant à l'internaute de bien préciser un nombre X de copies...

Posté : 10 juil. 2005, 14:33
par guy
ben le but etant que ce soit automatique et sans aucune boite de dialogue ta solution ne me plait guere
Guy

Posté : 10 juil. 2005, 14:52
par Cyrano
Ça, je le comprends, mais le problème posé est une question de prise de contrôle sur le fonctionnement de la machine de l'internaute et ça, ça sera difficile à contourner. Si l'internaute utilise deux imprimantes par exemple, une qu'il destine à l'impression en vrac de documents plus ou moins brouillons, et une autre en réseau pour l'impression de documents soignés, comment feras-tu la distinction pour envoyer la commande vers la bonne imprimante ? Ou encore deux imprimantes mais une qui imprime sur A4 et l'autre sur Letter ?

Au départ tu as une impossibilité technique. Et ensuite, en admettant que ce problème soit résolu, il faudrait à la limite d'après ce que tu dis que l'impression ne passe même pas par une phase de confirmation de l'internaute: ça, tu n'as quasiment aucune chance de réussir ça, le système va te bloquer: sinon, ce serait une faille de sécurité et la porte ouverte au fantaisie de pirates en mal de facéties qui feraient vider les bac de papier des internautes "juste pour rire".

Il faut faire la part de choses et nuancer ce qui consiste à "faciliter la vie de l'internaute" de "lui imposer un choix" : dans ton cas, on est plus proche de la seconde option.

Posté : 10 juil. 2005, 16:12
par guy
en fait je cherche ce truc juste pour une aplication un facturier que je devellope ( http://www.factux.org ) et la solution vient juste de m'etre donnée sur le forum de fpdf:
Auteur: Olivier
Date: 10/07/2005 12:49

Bah il suffit d'appeler print() plusieurs fois...

$script=str_repeat("print($param);",2);
j'ai donc modifié la fonction comme ceci:
	function AutoPrint($dialog=false, $nb_impr)
{
    //Ajoute du JavaScript pour lancer la boîte d'impression ou imprimer immediatement
    $param=($dialog ? 'true' : 'false');
    $script=str_repeat("print($param);",$nb_impr);
		
    $this->IncludeJS($script);
}
et son appel devient
$pdf->AutoPrint(false, $nbr_impr);
$nbr_impr etant une variable contenue dans le fichier des preference de l'utilisateur de Factux
Et ca marche nikel reste juste a trouver le moyen de fermer la fenetre du navigateur une fois le fichier passé à l'imprimante (qui il est vrai est l'imprimante par defaut du poste client mais ca c'est pas de mon ressort)
Guy

Posté : 20 juil. 2005, 14:07
par Invité
as tu trouvé le moyen de fermer la fenetre?

Posté : 20 juil. 2005, 14:54
par guy
helas non je suis toujours a la recherche .....
Guy