Je teste un site Web en connectant 2 ordinateurs via un routeur et des câbles Ethernet où l'un des PC a le site Web avec WAMP et fait office de serveur.
Tout va bien et fonctionne mais il y a un problème. J'ai écrit PHP pour imprimer le reçu final via une imprimante thermique qui fonctionne parfaitement lors de l'impression sur l'ordinateur serveur où cette imprimante thermique est connectée via USB.
Maintenant, le problème est que lorsque le deuxième ordinateur fonctionnant en tant que client accède au site Web, comment imprimera-t-il le reçu via une imprimante thermique connectée via USB? Le serveur ne trouve pas l'imprimante connectée au client.
Bien sûr, je pensais que JavaScript est le meilleur moyen de le faire si je veux accéder à l'imprimante du client, mais cela présente un gros défaut.
Lorsque je charge le contenu imprimable dans une nouvelle fenêtre en utilisant window.open()
, puis j'y écris des données. J'appelle ensuite window. print();
et il imprime le contenu mais cela ne s'arrête pas. Après avoir imprimé les données sur le reçu, il continue à pousser les reçus vides hors de l'imprimante et ne s'arrête jamais.
PHP fonctionne bien, il imprime simplement les données puis s'arrête pour que je puisse déchirer le reçu. Pourquoi l'imprimante ne s'arrête-t-elle pas après l'impression des données lors de l'utilisation de JavaScript?
Veuillez aider. C'est la seule chose qui reste ...
Ok j'ai trouvé la solution. L'imprimante thermique a quatre fonctions de base
1- Lire les données
2- Imprimez-le sur le papier
3- Décidez de la longueur du papier à sortir
4- couper le papier une fois l'impression terminée.
J'ai essayé de le faire avec window.print () car je n'ai rien trouvé concernant "imprimer sur l'imprimante du client à partir d'un serveur local avec php".
Avec google chrome, voici ce qui s'est passé
après avoir cliqué sur le bouton d'aperçu avant impression, il m'a montré les données agrandies à un niveau tel qu'elles étaient à peine visibles. Pour être plus précis, les données ressemblaient à une épaisse ligne noire où le reste était une longue page blanche avec un défilement presque infini. après avoir appuyé sur le bouton d'impression, l'imprimante a commencé à imprimer et elle n'a jamais cessé d'imprimer jusqu'à ce que le rouleau de papier concurrent soit terminé. La tête du papier contenait les données réelles tandis que le reste de la grande longueur du papier était blanc vide.
Avec Internet Explorer, c'était encore pire que Google Chrome car même après la fin du rouleau, il continuait à demander un nouveau rouleau de papier pour imprimer encore plus de page vide blanche ...
Puis je suis tombé sur le champion. MOZILLA FIREFOX. Lorsque j'ai cliqué sur le bouton d'aperçu avant impression, il m'a montré la taille exacte du papier nécessaire pour que les données tiennent dans ... et la chose la plus importante à laquelle je ne m'attendais pas, c'est quand le firefox a fini d'imprimer le reçu qu'il a invoqué la coupure () fonction de l'imprimante thermique pour couper le reçu afin que le reçu puisse être retiré facilement.
puis j'ai tapé about: config dans la barre de recherche de Firefox et j'ai recherché "imprimer". J'ai été vraiment étonné de voir autant d'options concernant l'impression que c'était plus que ce que je voulais voir dans un reçu imprimé à partir d'une page de navigateur. Je peux littéralement concevoir le modèle du reçu et l'enregistrer. Après cela, chaque fois que j'imprimerai le reçu, il sera imprimé à l'intérieur de ce modèle.
Merci les gars d'avoir regardé ma question. J'espère que cela aide quelqu'un ...
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots