19 votes

Comment simuler une imprimante parallèle (LPT) avec une imprimante USB ?

J'ai un logiciel ancien qui n'imprime que sur des imprimantes connectées via un port LPT. Or, la machine que je dois utiliser n'a pas de port parallèle. De plus, mon imprimante est un périphérique USB.

Comment faire croire à mon ordinateur que mon imprimante usb est branchée sur le port lpt ?

De plus, il s'agit d'un bureau. Je disposerai de droits d'administrateur lors de la mise en œuvre de la solution de contournement, mais je cherche une solution qui fonctionne lorsqu'un utilisateur "normal" est connecté après que tout a été mis en place.

21voto

harrymc Points 394411

Vous pouvez tromper Windows en utilisant l'imprimante USB comme une fausse imprimante "réseau" connectée à LPT1.

Partager l'imprimante USB

Utilisez un nom de partage facile à retenir, tel que "Imprimante".

Connecter l'imprimante partagée en tant que LPT1

NET USE LPT1: \\[Computer-Name]\Printer /PERSISTENT:YES

5voto

Ivelin Points 107

L'utilisation d'un adaptateur USB vers parallèle n'a aucun sens. Nous parlons ici de l'utilisation d'un très ancien logiciel sur du matériel avec des connexions USB uniquement. Dans mon cas, une imprimante d'étiquettes ZEBRA.

Dans mon cas, la solution a été la suivante.

  1. Installer l'imprimante USB avec ses pilotes (il suffit de trouver sur quel port USB elle est connectée).
  2. Changer le port du pilote en FILE (et libérer le port USB)
  3. Installez un pilote générique / texte seulement et changez le port pour le même port USB logique que celui indiqué au point 1.
  4. Partager l'imprimante générique /Text Only afin de la rendre facilement visible en VBA
  5. Installez l'adaptateur Microsoft Loopback sur une adresse IP fixe et inutilisée (sinon votre imprimante ne sera pas visible lorsque le câble sera déconnecté).
  6. Attribuer un port LPTx : comme expliqué précédemment en ligne de commande (pour tous les logiciels qui ont besoin d'un ancien port LPT).

Avec quelques lignes de code, vous serez en mesure d'envoyer des codes ASCII à l'imprimante, comme c'était le cas auparavant.

Vous pouvez maintenant imprimer facilement en VBA (testé avec Windows 7 64-bit et l'imprimante Zebra ZM400).

Open "\\Kb\ZM400" For Output As #1       'Kb = computer Name; ZM400 = Shared printer name
For rows = 1 To 37 ' send the first 37 rows of ASCII codes from the worksheet "STRINGS"
    Print #1, Worksheets("STRINGS").Cells(rows, 1).Value
Next
Close #1

2voto

Brandon Points 2580

Vous pouvez également consulter le site WinPrint :

Prend la sortie d'imprimante standard produite par une application DOS et la transmet à une imprimante Windows par défaut. Convertit les pages de code, supprime les pages vides, prend en charge les caractères de BOX DRAWINGS. Fonctionne sur toutes les plates-formes Windows.

2voto

Govinda Thapa Points 21

Utilisez le programme d'impression DOS pour manipuler vos ports disponibles vers les dispositifs souhaités. Vous pouvez le télécharger à partir de ce lien https://www.dropbox.com/s/gdx05sckmbqnast/dosprint.exe?dl=0 (dos Print)

https://www.dropbox.com/s/alf6hdd5fctepmo/dosprintui.exe?dl=0 (dos Print UI)

Lancez d'abord dosprint et dosprintui en tant qu'administrateur, puis double-cliquez sur l'icône de la barre des tâches de dosprintui, vous obtiendrez la liste des ports disponibles à mapper, puis double-cliquez sur lpt1 ou sur le bouton set et choisissez l'imprimante que vous souhaitez mapper sur ce port et cliquez sur ok. BINGO maintenant vous pouvez imprimer sur le port LPT1 et votre imprimante usb l'imprimera pour vous.

2voto

Dave Points 1585

Les programmes DOS sont toujours utilisés dans le monde des affaires. Les conseils sur la manière de les faire fonctionner correctement sur une plate-forme informatique moderne sont légion sur le web. Voici ce qui a fonctionné pour moi.

Le programme DOS 16 bits avec lequel nous devons travailler se trouve sur un serveur Windows 2003 32 bits qui sera bientôt supprimé. En attendant, un partage du programme est mappé sur deux machines clientes 32 bits du domaine primaire à l'aide de la stratégie de groupe. Un raccourci vers le fichier .cmd qui lance le programme est placé manuellement sur les clients, également sur le domaine primaire. Le programme fonctionne bien sous Windows 8.1. Il s'agit certes d'un compromis, mais les machines seront mises à niveau vers Windows 8.1 64 bits lorsque le programme DOS, qui s'exécute à partir du domaine secondaire, sera mis hors service.

L'impression à partir du programme représente le plus grand défi. Deux imprimantes parallèles différentes sont utilisées avec ce programme, mais le programme n'imprime que sur un seul port et il n'y a pas d'option pour modifier ce comportement. Vous devez imprimer un chèque sur l'imprimante laser ? Elle doit être connectée au port LPT1. Vous devez imprimer un fichier de données sur l'imprimante matricielle ? Elle doit également être connectée au port LPT1. Deux personnes travaillent quotidiennement avec ce programme, nous utiliserons donc leurs ordinateurs, un pour chaque imprimante. Installons la première imprimante :

  • Si l'ordinateur dispose d'un port physique DB-25 (parallèle), vous pouvez le désactiver dans le BIOS. Windows 8.1 ne le prend pas en charge et nous n'en avons pas besoin.

  • Un adaptateur d'imprimante USB vers parallèle DB25, modèle 16899 de Cables-to-Go, est utilisé pour connecter l'imprimante à l'ordinateur. L'adaptateur s'installe automatiquement et n'est pas reconnu comme un périphérique parallèle ou un port LPT.

  • Ouvrez ensuite Périphériques et imprimantes. Cliquez sur Ajouter une imprimante et sélectionnez L'imprimante que je souhaite n'est pas répertoriée. Dans la boîte de dialogue suivante, choisissez Ajouter une imprimante locale ou une imprimante réseau avec des paramètres manuels et, dans la boîte de dialogue suivante, Utiliser un port existant. Sélectionnez un port d'imprimante virtuel pour USB, soit USB001 ou USB002, dans la liste et non les options de port LPT.

  • La première imprimante est une imprimante matricielle multimode Panasonic KX-P1191. L'imprimante n'est pas répertoriée dans la boîte de dialogue qui demande un pilote et la mise à jour de la liste en cliquant sur Windows Update n'apporte aucune aide. Une vérification sur le site d'assistance de Panasonic indique que l'imprimante n'est absolument pas prise en charge à ce stade, mais un spécialiste de l'assistance technique de Panasonic a aidé à trouver la piste qui mène au pilote Epson FX Series 1(80) inclus dans Windows 8.1. Il fonctionne parfaitement.

L'imprimante est maintenant installée. Mais elle est sur le port USB001 et le programme n'imprime que sur le port LPT1. La solution est relativement simple et peut être intégrée directement dans le fichier batch utilisé pour démarrer le programme. Nous allons jouer un tour à notre imprimante : nous allons la partager et imprimer sur le port LPT1 de cette manière.

  • Cliquez avec le bouton droit de la souris sur l'imprimante et choisissez Propriétés. Partagez l'imprimante, ne la répertoriez pas dans le répertoire, créez un nom de partage court pour faire bonne mesure, puis assurez-vous que l'utilisateur de la machine cliente est répertorié dans la zone Groupe ou nom d'utilisateur sous l'onglet Sécurité.

  • Les deux personnes qui imprimeront sur ces imprimantes sont à l'origine de mon salaire, c'est pourquoi je leur ai donné des droits d'administrateur de domaine. Cela n'était peut-être pas nécessaire. Les deux personnes sont des utilisateurs du domaine principal mais pas du domaine secondaire, et je ne voulais pas passer du temps à résoudre le problème des autorisations.

Modifiez maintenant le fichier batch et utilisez la commande net use bien documentée pour mettre en œuvre la solution d'impression :

@echo off
::delete the printer
net use lpt1 /delete
::add the printer
net use lpt1 \\\COMPUTER\PRINTER /persistent:yes
::fire up the nasty ol' DOS program
<existing syntax used to start the program>

Où ORDINATEUR est le nom de l'ordinateur et IMPRIMANTE est le nom de partage de l'imprimante. La procédure a également fonctionné sur un deuxième ordinateur pour l'imprimante HP LaserJet 1100 en utilisant le pilote "HP LaserJet 1100 (MS)" fourni avec Windows 8.1.

-- NOTES --

Erreur du système 5 :

Assurez-vous que l'utilisateur est répertorié dans l'onglet Sécurité. "Tout le monde" peut être peut être supprimé. L'utilisateur doit-il disposer de privilèges d'administrateur de domaine ? Probablement probablement pas, si tout fonctionne à partir d'un seul domaine.

Erreur de système 66 :

Vérifiez votre syntaxe. Vous avez probablement mal orthographié le nom de l'ordinateur, de l'imprimante, ou peut-être avez-vous oublié les deux points ? Un seul deux-points est nécessaire, par la documentation de Microsoft. L'ajout d'un deux-points inutile à lpt1[ :] entraînera-t-il un échec ?

Tout sur l'utilisation du réseau : https://technet.microsoft.com/en-us/library/bb490717.aspx

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X