[RESOLU] php et impression

Invité
Invité n'ayant pas de compte PHPfrance

18 sept. 2008, 15:53

Bonjour à tous,

Je souhaite créer un script déclenché par tâche cron qui lance une imprimante et envoie les documents.
Pas de problème pour le code en général, mais j'aimerais savoir s'il est possible de déclencher une imprimante et lui envoyer les documents à imprimer, tout ça à partir de php.

Merci pour vos réponses.

Petit nouveau ! | 4 Messages

18 sept. 2008, 16:09

oui mais il faut préciser chaque couleur puis leur assigner une variable, surtout ne pas toucher aux autres éléments car il risque d'y avoir confusion et intrication du parentNode et des autres parties. Voilà j'ai été clair. Merci.

Invité
Invité n'ayant pas de compte PHPfrance

18 sept. 2008, 19:10

cela veut il dire que php peut communiquer directement avec une imprimante sous windows? comment?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

18 sept. 2008, 20:52

Je te conseille de prendre avec des pincettes ce que propose Ekolo.

Pour ma part, son post ne veut rien dire et je l'aurais supprimé si tu n'avais pas répondu avant ;)

Par contre, je n'ai aucun élément à apporter pour résoudre ton soucis :?
Je ne suis pas sûr qu'il soit possible de demander directement à PHP de communiquer avec une imprimante :-k
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

18 sept. 2008, 21:17

je sais qu'on peut lancer des commandes systèmes avec php. ça peut suffire pour déclencher une imprimante.

Par contre pour transmettre des documents...je reste ouvert à toute suggestion.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 sept. 2008, 22:10

PHP ne peut effectivement rien faire avec l'imprimante, mais peut effectivement executer des commandes système. M'enfin à ce compte là, autant que ton cron appelle directement un shell ou un batch :)

Qu'entends tu par "envoyer les documents" ? où sont-ils et où doivent-ils aller ?

PHP propose des fonctions ftp, tu peux lui demander de se connecter à un serveur ftp pour en récupérer ou y déposer des fichiers... tu peux aussi utiliser le systeme de fichier pour les lire où les deposer sur le reseau... pis tu peux aussi les envoyer en pieces jointes d'un mail... ca dépend vraiment de ce dont tu as besoin :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 4 Messages

19 sept. 2008, 19:18

rectification : avec php non. C'est vrai que j'ai pas été clair. il faut que tu ajoutes un script à ton code, mais en php seulement je ne crois pas. Merci. (et qu'on ne dise pas que ce que je dis est à prendre avec des pincettes svp, je code en php tous les jours pr ma boîte). Merci.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

19 sept. 2008, 19:32

Eh bien prouve le nous par des explications claire et précises. ;)
Pour le moment, ce que tu nous as montré ne nous permet de te considérer comme une super pointure :?

Mais je pense que tu auras à coeur de nous prouver l'inverse, et à ce moment là, nous aurons gagné un bon membre sur PHPFrance :D
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 881 Messages

21 sept. 2008, 04:46

Est-ce que les fonctions printer peuvent servir?

En local, printer fait du bon travail, mais en réseau ... je ne sais pas.
Si c'est sur la même machine (donc, en local), tu peux appeler une page PHP à partir ce Cron et ainsi exploiter printer pour imprimer.
Soyez artisans de paix

Eléphant du PHP | 422 Messages

21 sept. 2008, 10:01

@ekolo
Tu viens balancer un charabia pseudo-informatique et ensuite tu oses venir en rajouter :evil:

@Invité
Si je comprends bien, tu veux que ton impression soit lancée régulièrement à partir d'un cron. Il faut donc qu'une imprimante soit attachée au serveur et on oublie donc des impressions sur un poste local.
Idée : tu génères un fichier PDF avec fpdf. Sur le site fpdf, il y a un bout de script à inclure dans le fichier PDF qui permet de faire du javascript dans le PDF, avec un exemple qui justement lance une impression automatique à l'ouverture du doc.
Donc ton fichier shell (batch) peut lancer le bout de code PHP qui génère le doc, puis ensuite lancer le reader PDF qui ouvrira le fichier (lancement de l'impression et fermeture du doc).

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 sept. 2008, 10:38

En fait tout dépend du type de document que tu veux imprimer...
PHP ne peut effectivement rien faire avec l'imprimante, [...]
A priori avec les fonctions printer_* ça devrait pouvoir le faire... (mais je n'ai jamais utilisé à vrai dire)

Tu dois même pouvoir imprimer sur des imprimantes en réseau (cf les commentaires):
http://fr.php.net/printer_open


Sinon en utilisant la ligne de commande (via exec() ou system()), il est possible d'imprimer quasiment tout type de document...

Pour un fichier texte simple: http://technet.microsoft.com/en-us/libr ... 72773.aspx
Pour du PDF: http://support.adobe.com/devsup/devsup. ... /52080.htm ou http://www.verypdf.com/pdfprint/pdf-print-cmd.html
Pour des documents Word : http://www.autohotkey.com/forum/post-114567.html#114567


Attention toutefois, toutes ces solutions ne peuvent fonctionner qu'avec une imprimante connectée sur le serveur ou accessible en réseau depuis le serveur qui exécute ton PHP. Si tu veux imprimer sur l'imprimante de ton visiteur, la seule solution fiable est effectivement de générer un PDF avec ouverture de la boîte d'impression au lancement...
Quand tout le reste a échoué, lisez le mode d'emploi...