Interception des données envoyées à une imprimante Windows (à l’aide de RedMon)

Je dois intercepter les données envoyées à une imprimante ESC / POS sous Windows et les parsingr.

Je voulais donc obtenir les données en clair afin de pouvoir extraire et donner un sens aux informations envoyées à l’imprimante.

Actuellement, j’ai essayé d’utiliser RedMon pour envoyer le stream de données au port imprimante. Mais les données envoyées se présentent sous la forme de graphiques raster, c’est-à-dire de points à imprimer, intégrés aux commandes ESC / POS.

Je me demandais donc si quelqu’un pouvait me suggérer comment obtenir les données d’impression au format texte pour pouvoir en extraire des informations.

Les données envoyées à une imprimante ESC / POS sont des données masortingcielles intégrées à des commandes ESC / POS. C’est ce que le pilote d’imprimante ESC / POS génère à partir de son entrée. Et c’est ce que RedMon a attrapé pour vous.

Vous semblez vouloir voir l’ entrée envoyée au pilote d’imprimante . Cela signifie que vous devrez trouver les applications qui utilisent l’imprimante et intercepter ce qui arrive au pilote d’imprimante.

Vous ne dites pas si vous souhaitez configurer votre interception dans un environnement «en direct» ou uniquement pour un test temporaire. Si vous souhaitez tester temporairement, vous pouvez également effectuer les étapes suivantes:

  1. Suspendez la queue d’impression (capture d’écran supérieure, ci-dessous).
  2. Facultativement: remplacez le pilote ESC / POS par, par exemple, PostScript ou Microsoft XPS. Faites-le sur le même onglet “Avancé” dans la boîte de dialog des propriétés de l’imprimante, comme mentionné ci-dessus. (capture d’écran inférieure à droite, ci-dessous).
  3. Impression.
  4. Récupère le fichier spool en attente dans le répertoire spool. Sous Windows 8, il s’agit par défaut de C: \ Windows \ System32 \ spool \ PRINTERS . Le fichier spool est nommé NNNNN.spl où NNNNN est le numéro de la tâche d’impression en cours.
  5. Analysez les données PostScript ou XPS.

Voir ces 3 captures d’écran:


Cependant, ce serait beaucoup plus facile (au lieu d’utiliser RedMon) si vous …

  • … activez simplement le paramétrage du pilote d’imprimante intitulé “Conserver les documents imprimés” : accédez à la liste des propriétés de la queue => sélectionnez l’onglet “Avancé” => activez la case à cocher correspondante (voir capture d’écran ci-dessus);

  • … imprimer le travail d’impression dans le répertoire d’impression de Windows;

  • … parsingr votre fichier NNNNN.spl :

    • sur Windows 8, ce sera un fichier XPS. Renommez-le en NNNNN.xps et vous pouvez l’ouvrir avec le visualiseur XPS intégré.

    • sur la version précédente de Windows, le NNNNN.spl aura le format de fichier du pilote d’imprimante correspondant (PostScript pour les pilotes PostScript, imprimante XPS pour Microsoft XPS, ESC / POS pour votre imprimante, …). Renommez-le en conséquence et ouvrez-le dans le visualiseur XPS ou PostScript.

Vous pouvez placer les imprimantes POS d’Epson en mode débogage pour imprimer un vidage HEX des données entrantes. Voir page 88 de ce pdf: http://www.pos.epson.com/epsonexpertTSG/Templates/POS_Developers_Details.aspx?NRMODE=Published&NRORIGINALURL=%2fdevelopers%2ftechresdetails%2ehtm%3fproductpk%3d642&NRNODEGUID=%7b934F5A6D-E01A-40B1-B2B0 -648C1EC68047% 7d & NRCACHEHINT = NoModifyGuest & productpk = 642

Pour vous donner une idée, vous pouvez obtenir le kit de développement logiciel Epson ESC / POS si vous vous inscrivez et acceptez leurs conditions d’utilisation: https://www.epsonexpert.com/ee/prelogin/registration.htm

Si vous voulez juste capturer, vous pouvez créer un port d’imprimante TCP / IP qui pointe vers l’adresse IP d’un poste de travail et exécuter mon outil vclpdcap. Il surveille 9100 ou 515 (RAW ou LPR) et capture et écrit les données dans un fichier.

Jetez un oeil ici, si vous avez besoin de plus d’instructions faites le moi savoir.

http://www.ballisticecho.com/articles-and-downloads/print-capture-lpd-9100