Orientation de la page function.printer

Mammouth du PHP | 881 Messages

29 oct. 2007, 07:18

Bonjour!

J'utilise EasyPHP sous WindowsXP.
Depuis longtemps, j'utilise la fonction ci-haut citée, mais voilà que j'ai besoin que la fonction
http://ca.php.net/manual/fr/function.pr ... option.php fonctionne enfin comme attendu.

Je veux imprimer parfois paysage parfois portrait.
Pour l'instant, j'insère
		 $docu = printer_open();
		 printer_set_option($docu, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_LETTER);
		 printer_set_option($docu, PRINTER_ORIENTATION, PRINTER_ORIENTATION_PORTRAIT);
Mais en ce qui a trait à l'orientation du papier, ma commande n'a aucune conséquence.
La seule façon que j'aie trouvée pour imprimer paysage/portrait c'est de changer cette valeur dans le propriétés d'imprimante! Autrement dit, mais commande printer_set_option($docu, PRINTER_ORIENTATION, PRINTER_ORIENTATION_PORTRAIT); n'est pas exécutée.

Que faire?
Soyez artisans de paix

Mammouth du PHP | 881 Messages

02 nov. 2007, 02:53

J'ai beau chercher, je ne trouve toujours rien qui cloche là-dedans.

Quelqu'un a une idée?
Soyez artisans de paix

Eléphant du PHP | 445 Messages

02 nov. 2007, 03:22

Essaie de definir le nom de ton imprimante dans printer_open()

Mammouth du PHP | 881 Messages

14 nov. 2007, 05:02

Allo!

Je viens d'essayer de définir mon imprimante ainsi
$docu = printer_open("Brother HL-1435 series");
mais ça ne change rien. À dessein, j'avais mis mon imprimante en impression portrait par défaut et demandé paysage en programmation (
		 printer_set_option($docu, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_LETTER);
printer_set_option($docu, PRINTER_ORIENTATION, PRINTER_ORIENTATION_LANDSCAPE);
), mais rien n'y a fait.

Vous avez, ci-haut, me codes de programmation.
Est-ce que les options devraient être en guillemets?

Est-ce que les valeurs numériques auraient plus d'efficacité?
Quelles sont les valeurs numériques qui remplacent "printer_orientation" et "printer_orientation_landscape" ?

J'ai essayé

printer_set_option($docu, PRINTER_ORIENTATION,  0);
printer_set_option($docu, PRINTER_ORIENTATION,  1);
printer_set_option($docu, PRINTER_ORIENTATION,  2);


Rien n'y a fait, encore.

Des suggestions?
Soyez artisans de paix

Mammouth du PHP | 881 Messages

19 nov. 2007, 05:32

Les choses ne vont pas en s'améliorant.
Voilà que j'ai installé Wamp (Windows XP) et l'impression par défaut de l'imprimante n'est même plus en compte. Qu'avec les propriétés de Windows je mette paysage ou portrait, on m'imprime toujours en paysage seulement.
$handle = printer_open();
echo printer_get_option($handle, PRINTER_PAPER_FORMAT);
echo "<br>";
printer_close($handle);
Me retourne 1 et toujours 1, rien d'autre.
J'ai aussi essayé en nommant mon imprimante
$handle = printer_open("Brother HL-1435 series");
echo printer_get_option($handle, PRINTER_PAPER_FORMAT);
echo "<br>";
printer_close($handle);
Le résultat est le même.

Quelqu'un aurait une idée?

Si je prenais la classe printer de EasyPHP, au moins je pourrais utiliser la valeur par défaut inscrite par Windows! Ça se fait?

Comment faire fonctionner printer_set_option en fin de compte?
Voici mes premiers code d'impression, y trouveriez-vous des erreurs de ma part?
$docu = printer_open();
printer_set_option($docu, PRINTER_PAPER_FORMAT, PRINTER_FORMAT_LETTER);
printer_set_option($docu, PRINTER_ORIENTATION, 1);						
printer_start_doc($docu, "Réservation des locaux : ");
printer_start_page($docu);
...
Est-ce que l'inversion de start_doc avec set_option pourrait avoir un impact? Il semble que non (après essai avec
 
printer_set_option($docu, PRINTER_ORIENTATION,  PRINTER_ORIENTATION_PORTRAIT);			
printer_set_option($docu, PRINTER_ORIENTATION,  PRINTER_ORIENTATION_LANDSCAPE);			
printer_set_option($docu, PRINTER_ORIENTATION,  0);			
printer_set_option($docu, PRINTER_ORIENTATION,  1);		
printer_set_option($docu, "PRINTER_ORIENTATION",  "PRINTER_ORIENTATION_PORTRAIT");
printer_set_option($docu, PRINTER_ORIENTATION,  "PRINTER_ORIENTATION_PORTRAIT");
Veuillez pardonner la longueur du message, mais j'essaie de nombreuses choses avant de venir chercher de l'aide.

Merci à l'avance.
Soyez artisans de paix