Serveur d'impression

PHP Starter »Blog Archive» Envoyer des travaux d'impression directement à partir de PHP – Serveur d’impression

Le 2 mai 2019 - 5 minutes de lecture

Cet article ne s'applique vraiment que si vous hébergez le serveur Web dans votre bureau ou votre lieu de travail. Si vous hébergez votre serveur Web dans un centre de données et que vous ne le voyez jamais, cet article n'est probablement pas pour vous. Dans le diagramme ci-dessous, supposez que le serveur et les imprimantes connectées se trouvent quelque part dans votre immeuble et que les ordinateurs de la zone rouge représentent vos clients quelque part sur Internet. Notez que les imprimantes côté client ne sont pas utilisées dans cette application.

Une autre configuration possible serait si tout se trouve sur un réseau interne privé, comme dans le diagramme ci-dessous. Dans ce cas, tout est dans la case verte car tout se trouve sur un réseau interne relié par un commutateur réseau. Les deux imprimantes sont dans des boîtes jaunes car elles ne sont visibles par le serveur que si elles sont partagées par ces ordinateurs connectés au réseau et que ces ordinateurs sont allumés.

Alors, maintenant que nous avons une vue d'ensemble, il y a quelques autres choses à noter. Le serveur Web doit exécuter Windows et non Linux. Les fonctions de l’imprimante PHP ne sont que Windows. Les imprimantes peuvent être connectées localement via USB / Parallèle, sur le réseau via IP JetDirect ou partagées par un autre serveur / ordinateur.

Impression de documents en texte brut

L'impression de documents en texte brut est un jeu d'enfant. Cela ressemblera à faire écho au texte envoyé sur le navigateur Web avec quelques différences. C'est le premier test que j'ai fait:


L’imprimante de la ligne 6 se trouve dans la liste des imprimantes Windows et doit correspondre exactement. Cette fonction peut être appelée sans paramètre d’imprimante, et PHP utilisera l’imprimante par défaut spécifiée dans le fichier php.ini ou tentera de la détecter en fonction de la manière dont elle est définie dans Windows. Je voulais faire presque une page de texte complète, alors je suis allé sur lipsum.com, j'ai généré un exemple de texte et je l'ai sauvegardé dans un fichier texte.

Donc, voici le résultat imprimé, et la chose intéressante est que le texte était presque exactement une page complète. Ce qui n’est pas si cool, c’est qu’il ne fait pas des choses simples comme le retour à la ligne. Heureusement, nous pouvons passer le texte à travers wordwrap () avant de l'envoyer à l'imprimante pour y remédier facilement.

Pour des exemples futurs, j'utiliserai mon imprimante PDFCreator afin de ne pas gaspiller de papier (ou d’argent) lors des tests, et je vous encourage à faire de même.

Impression d'une police personnalisée

Si vous souhaitez imprimer avec une police personnalisée, vous devez utiliser des fonctions similaires à celles de la bibliothèque GD. Vous devez définir la police, la position X / Y et les autres propriétés d’épaisseur de police.

Dans cet exemple, je vais utiliser la police de code à barres disponible gratuitement pour imprimer un code à barres sur un morceau de papier. Dans cet exemple, je vais également définir le document d'impression et la page individuelle.


Dessiner des images

Les fonctions de l’imprimante ne prennent en charge que l’écriture en bitmap (bmp). Vous devrez donc convertir les images dans ce format avant de l’utiliser dans cette application. Les paramètres X, Y de la fonction printer_draw_bmp () sont en pouces.


Dessiner des formes

Plusieurs formes peuvent également être dessinées. L'exemple montrera deux lignes horizontales et parallèles de longueur différente.


Usages Pratiques

On pense à des utilisations en couple, et je suis sûr qu’il y en a d’autres (postez-les si vous en avez un bon!).

  • Imprimez automatiquement les bordereaux d’expédition / factures dans un centre d’expédition au fur et à mesure que les clients passent leurs commandes.
  • Sur un site Web intranet, configurez toutes les imprimantes de la société côté serveur afin que les utilisateurs puissent utiliser l’application Web sans se soucier de la configuration des imprimantes sur leur poste de travail.
  • Imprimer automatiquement des rapports générés par un script PHP de la CLI

Pour plus d'informations, consultez les fonctions d'impression PHP.

Impression à partir de PHP sur des serveurs Linux

"Mais qu'en est-il des serveurs Linux!", Dites-vous. Eh bien, comme indiqué précédemment, les fonctions PHP ne prennent en charge que Windows, mais il existe une alternative. PHP4IT.com contient un article intitulé Imprimer un formulaire directement sur une imprimante PCL (Linux) qui devrait vous aider à créer manuellement le fichier PostScript et à l'écrire sur l'imprimante. Cela devrait vous aider à démarrer.

Andrew code des applications PHP depuis 2006 et possède une vaste expérience de PHP, MySQL et Apache. Il préfère Ubuntu Linux sur son ordinateur et possède une vaste expérience de la gestion de serveurs Web CentOS. Il est le propriétaire de Wells IT Solutions LLC et développe des applications PHP à temps plein pour tous ceux qui en ont besoin. Il prend également en charge les ordinateurs de bureau localement dans la région. Il passe la majeure partie de son temps libre à explorer de nouveaux concepts de programmation et à publier sur les forums Webmaster.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.