Page 1 sur 1
php et impression
Posté : 18 sept. 2008, 15:53
par Invité
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.
Posté : 18 sept. 2008, 16:09
par Ekolo
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.
Posté : 18 sept. 2008, 19:10
par Invité
cela veut il dire que php peut communiquer directement avec une imprimante sous windows? comment?
Posté : 18 sept. 2008, 20:52
par zeus
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

Posté : 18 sept. 2008, 21:17
par Invité
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.
Posté : 18 sept. 2008, 22:10
par Ryle
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

Posté : 19 sept. 2008, 19:18
par Ekolo
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.
Posté : 19 sept. 2008, 19:32
par zeus
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

Posté : 21 sept. 2008, 04:46
par Patriboom
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.
Posté : 21 sept. 2008, 10:01
par caroube
@ekolo
Tu viens balancer un charabia pseudo-informatique et ensuite tu oses venir en rajouter
@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).
Posté : 21 sept. 2008, 10:38
par @rthur
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...