Come posso simulare una stampante parallela (LPT) con una stampante USB?


18

Ho alcuni software legacy che stampano solo su stampanti collegate tramite una porta LPT. La macchina che devo usare, tuttavia, non ha una porta parallela. Inoltre la mia stampante è un dispositivo USB.

Come posso indurre il mio computer a pensare che la mia stampante USB sia collegata alla porta lpt?

Inoltre, questo è per un ufficio. Avrò i diritti di amministratore durante l'implementazione del lavoro in giro, ma sto cercando una soluzione che funzioni mentre un utente "normale" è registrato dopo aver impostato tutto.


1
Penso che intendi la porta LPT , non la porta LTP. LPT sta per "Line Print Terminal" ed è sinonimo di "parallelo" quando si fa riferimento alle porte della stampante. Interessante che esista un tag LTP. Può essere cambiato? O forse mi manca qualcosa.
boot13

@ boot13, hai ragione.
Dane O'Connor,

Risposte:


21

Puoi ingannare Windows usando la stampante USB come una finta stampante "di rete" connessa a LPT1.

Condividi la stampante USB

Utilizzare un nome di condivisione facile da ricordare, ad esempio "Stampante".

Collegare la stampante condivisa come LPT1

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

5
Non è necessario scherzare con l'adattatore Loopback. Installa la stampante normalmente usando la connessione USB. Quindi condividilo. Quindi utilizzare NET USE come sopra.
Alan B,

+1 per il NET USEtrucco "Condividi e ", sebbene l'adattatore loopback non sia necessario. Una cosa da notare, se l'utente non ha una password sul proprio account, è necessario modificare i Criteri di sicurezza locali (o la chiave di registro appropriata) per farlo funzionare.
Afrazier

Sono riuscito a fare tutti i passaggi ma se il mio PC non ha una porta parallela, quando uso net use LPT2 \\Computer-9313\Parallel /PERSISTENT:YESottengo The command completed succesfullyma non riesco a vedere LPT2 su dispositivi hardware, quindi non ne conosco l'indirizzo.
Andres,

1
@Andres hai dimenticato di digitare un punto e virgola dopo LPT2 come sopra?
phuclv,

1
Quello è un colon, non un punto e virgola (; vs:)
Ian Macintosh,

5

L'uso di un adattatore da USB a parallelo non ha alcun senso. Qui stiamo parlando dell'utilizzo di un software legacy molto vecchio su hardware con connessioni solo USB. Nel mio caso, una stampante per etichette ZEBRA.

La soluzione nel mio caso era.

  1. Installa la stampante USB con i suoi driver (solo per trovare su quale porta USB è collegata)
  2. Cambia la porta del driver in FILE (e libera la porta USB)
  3. Installa un driver generico / solo testo e cambia la porta sulla stessa porta USB logica vista al punto 1
  4. Condividi la stampante generico / solo testo per renderla facilmente visibile in VBA
  5. Installa l'adattatore Microsoft Loopback su un indirizzo IP fisso inutilizzato (altrimenti la tua stampante non sarà visibile quando il cavo è disconnesso)
  6. Assegna un LPTx: porta come spiegato prima dalla riga di comando (questo è per ogni SW che necessita di un vecchio LPT)

Con poche righe di codice sarai in grado di inviare codici ASCII alla stampante come in passato.

Ora puoi stampare facilmente in VBA (testato con Windows 7 64-bit e stampante 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

2

Forse dai un'occhiata a WinPrint :

Prende l'output standard della stampante prodotto da un'applicazione DOS e lo inoltra a una stampante Windows predefinita. Converte la tabella codici, rimuove le pagine vuote, supporta i caratteri BOX DRAWINGS. Funziona su tutte le piattaforme Windows.


2

Utilizzare il programma di stampa DOS per manipolare le porte disponibili sui dispositivi desiderati. Puoi scaricarlo da questo link 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)

Prima esegui dosprint e dosprintui come amministratore, quindi fai doppio clic sull'icona della barra delle applicazioni dosprintui, puoi ottenere l'elenco delle porte disponibili da mappare, quindi fai doppio clic su lpt1 o nel pulsante set e scegli la stampante desiderata per mapparla e fai clic su ok. BINGO ora puoi stampare sulla porta LPT1 e la tua stampante USB lo stamperà per te.


2

I programmi DOS sono ancora utilizzati nel mondo degli affari. I consigli su come farli funzionare correttamente su una moderna piattaforma informatica dilagano sul Web. Ecco cosa ha funzionato per me.

Il programma DOS a 16 bit con cui dobbiamo lavorare risiede su un server Windows 2003 a 32 bit che verrà presto rimosso. Fino ad allora, una condivisione al programma è mappata su due macchine client a 32 bit dal dominio primario con Criteri di gruppo. Un collegamento al file .cmd che avvia il programma viene inserito manualmente sui client, anche sul dominio primario. Il programma funziona bene su Windows 8.1. Un po 'di compromesso per essere sicuri, ma i computer verranno aggiornati a Windows 8.1 a 64 bit quando il programma DOS, che viene eseguito dal dominio secondario, viene ritirato.

La stampa dal programma rappresenta la sfida più grande. Con questo programma vengono utilizzate due diverse stampanti parallele, ma il programma stampa su un'unica porta e non esiste alcuna opzione per modificare questo comportamento. Devi stampare un assegno sulla stampante laser? Deve essere collegato alla porta LPT1. Devi stampare un dump di dati sulla stampante ad aghi? Deve essere collegato anche alla porta LPT1. Due persone lavorano quotidianamente con questo programma, quindi utilizzeremo i loro computer, uno per ogni stampante. Installiamo la prima stampante:

  • Se il computer ha una porta DB-25 (parallela) fisica, è possibile disabilitarla nel BIOS. Windows 8.1 non lo supporterà e non ne abbiamo bisogno.

  • Un adattatore per stampante parallela da 16899 USB a DB25 modello Cables-to-Go viene utilizzato per collegare la stampante al computer. L'adattatore si installa automaticamente e non viene riconosciuto come dispositivo parallelo o porta LPT.

  • Ora apri Dispositivi e stampanti. Fare clic su Aggiungi stampante e selezionare La stampante desiderata non è elencata. Nella finestra di dialogo successiva selezionare Aggiungi una stampante locale o una stampante di rete con impostazioni manuali e, nella finestra di dialogo successiva, Usa una porta esistente. Selezionare una porta della stampante virtuale per USB, USB001 o USB002, dall'elenco e non dalle opzioni della porta LPT.

  • La prima stampante è una stampante a matrice di punti multi-mode Panasonic KX-P1191. La stampante non è elencata nella finestra di dialogo che richiede un driver e l'aggiornamento dell'elenco facendo clic su Windows Update non aiuta. Un controllo del sito di supporto di Panasonic indica che la stampante non è completamente supportata a questo punto, ma uno specialista del supporto tecnico di Panasonic ha contribuito a risolvere il percorso che ha portato al driver Epson FX Series 1 (80) incluso in Windows 8.1. Funziona perfettamente.

Ora la stampante è installata. Ma è sulla porta USB001 e il programma stamperà solo sulla porta LPT1. La soluzione è relativamente semplice e può essere integrata direttamente nel file batch utilizzato per avviare il programma. Facciamo la vecchia scuola e giochiamo con la nostra stampante: la condivideremo e stamperemo su LPT1 in quel modo.

  • Fare clic con il tasto destro sulla stampante e selezionare Proprietà. Condividi la stampante, non elencarla nella directory, crea un nome breve di condivisione solo per una buona misura, quindi assicurati che l'utente del computer client sia elencato nell'area Gruppo o nome utente nella scheda Sicurezza.

  • Le due persone che stamperanno su queste stampanti creano il mio stipendio, quindi ho dato loro i diritti di amministratore di dominio. Potrebbe non essere stato necessario. Entrambi sono utenti nel dominio principale ma non nel secondario e non volevo perdere tempo a risolvere il problema delle autorizzazioni.

Ora modifica il file batch e usa il comando net use ben documentato per implementare la soluzione di stampa:

@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>

Dove COMPUTER è il nome del computer e STAMPANTE è il nome condiviso della stampante. La procedura ha funzionato altrettanto bene su un secondo computer per la stampante HP LaserJet 1100 utilizzando il driver "HP LaserJet 1100 (MS)" fornito con Windows 8.1.

-- APPUNTI --

Errore di sistema 5:

Assicurarsi che l'utente sia elencato nella scheda Sicurezza. "Everyone" può essere rimosso. I privilegi di amministratore di dominio sono richiesti per l'utente? Probabilmente no, se tutto è in esecuzione da un dominio.

Errore di sistema 66:

Controlla la tua sintassi. Probabilmente hai sbagliato a scrivere il nome del computer, della stampante o forse hai perso i due punti? È necessario un solo punto, secondo la documentazione Microsoft. L'aggiunta di due punti non necessari a lpt1 [:] causerà un errore?

Tutto sull'uso della rete: https://technet.microsoft.com/en-us/library/bb490717.aspx


0

Ci sono molti "adattatori paralleli agli adattatori USB" sul mercato. Puoi acquistarne uno online per circa $ 10, ed è probabilmente un buon punto di partenza.


Il problema non è quello di collegare la stampante al computer, ma di collegarla. Il problema è far sì che la stampante USB si comporti come se fosse collegata a una porta LTP (una porta LTP virtuale).
Dane O'Connor,

Ma non ha una porta parallela e ha una stampante USB.
David dice di ripristinare Monica il

0

Non hai detto quale hardware stai usando, ma supponendo che sia un PC Wintel, dovresti essere in grado di acquistare una scheda di porta parallela generica per quasi nulla. A parte questo, puoi reindirizzarlo usando NET USE, come suggerito da harrymc.


0

Ero nella stessa posizione con un software Clipper business progettato su misura. Ho esaminato alcuni software di emulazione parallela per stampare su una stampante USB che funzionava in qualche modo ma aveva i propri problemi. Superare la 64 bit a 10 bit senza problemi è stata una vera sfida.

Ho trovato Harbor HMG che, dopo aver modificato alcune righe di codice, ha ricompilato il software dell'app a 32 bit. Ho anche le mie app che scrivono dati su file temporanei che acquisisco con Microsoft Access per pubblicare fantastici report formattati. Oh, a proposito. Ora le app funzionano su Windows 10 a 64 bit con importanti miglioramenti in termini di memoria e velocità. Inoltre, ho i rapporti inviati alle stampanti di linea USB o ai getti d'inchiostro o qualunque cosa scelga.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.