Como faço para simular uma impressora paralela (LPT) com uma impressora USB?

18

Eu tenho alguns softwares legados que apenas imprimem em impressoras conectadas via uma porta LPT. A máquina que eu preciso usar, no entanto, não tem uma porta paralela. Além disso, minha impressora é um dispositivo USB.

Como enganar meu computador para pensar que minha impressora USB está conectada à porta lpt?

Além disso, isso é para um escritório. Terei direitos de administrador ao implementar a solução, mas estou tentando uma solução que funcione enquanto um usuário 'regular' estiver conectado depois que tudo estiver configurado.

    
por Dane O'Connor 30.08.2010 / 20:49

8 respostas

21

Você pode enganar o Windows usando a impressora USB como uma impressora de "rede" fictícia conectada a LPT1.

Compartilhe a impressora USB

Use um nome de compartilhamento fácil de lembrar, como "Impressora".

Conecte a impressora compartilhada como LPT1

NET USE LPT1: \[Computer-Name]\Printer /PERSISTENT:YES
    
por 30.08.2010 / 21:26
5

O uso de um adaptador USB para paralelo não faz sentido. Aqui estamos falando sobre o uso de um software legado muito antigo em hardware com conexões somente USB. No meu caso, uma impressora de etiquetas ZEBRA.

A solução no meu caso foi.

  1. Instale a impressora USB com seus drivers (apenas para descobrir em qual porta USB está conectada)
  2. Altere a porta do driver para FILE (e libere a porta USB)
  3. Instale um driver genérico / somente texto e altere a porta para a mesma porta USB lógica vista no ponto 1
  4. Compartilhe a impressora genérica / somente texto para torná-la visível facilmente no VBA
  5. Instale o adaptador Microsoft Loopback em um endereço IP fixo não usado (caso contrário, a impressora não ficará visível quando o cabo for desconectado)
  6. Atribuir uma porta LPTx: conforme explicado antes pela linha de comando (isso é para cada SW que precisa de um LPT antigo)

Com poucas linhas de código, você poderá enviar códigos ASCII para a impressora como foi usado no passado.

Agora você pode imprimir facilmente em VBA (testado com a impressora Zebra Windows 7 de 64 bits e 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
    
por 26.10.2012 / 17:44
2

Talvez confira WinPrint :

Takes standard printer output produced by a DOS application, and forwards it to a default Windows printer. Converts code page, strips empty pages, supports BOX DRAWINGS chars. Works on all Windows platforms.

    
por 30.08.2010 / 22:09
2

Use o Programa de Impressão DOS para manipular suas portas disponíveis para os dispositivos desejados. Você pode baixá-lo deste link link (print dos)

link (dos Imprimir IU)

Primeiro execute dosprint e dosprintui como administrador, depois clique duas vezes no ícone da bandeja dosprintui, você pode obter a lista de portas disponíveis para mapear, clique duas vezes em lpt1 ou no botão set e escolha a impressora desejada para mapear nela e clique em ok. BINGO agora você pode imprimir na porta LPT1 e sua impressora USB imprimirá isso para você.

    
por 27.08.2014 / 10:13
2

Programas DOS ainda são usados no mundo dos negócios. Conselhos sobre como fazê-los funcionar corretamente em uma plataforma de computação moderna são desenfreados na Web. Aqui está o que funcionou para mim.

O programa DOS de 16 bits com o qual precisamos trabalhar reside em um servidor Windows 2003 de 32 bits que será removido em breve. Até lá, um compartilhamento para o programa é mapeado em duas máquinas clientes de 32 bits do domínio principal com a Diretiva de Grupo. Um atalho para o arquivo .cmd que aciona o programa é colocado manualmente nos clientes, também no domínio primário. O programa é executado bem no Windows 8.1. Um pouco de compromisso para ter certeza, mas as máquinas serão atualizadas para o Windows 8.1 de 64 bits quando o programa DOS, que é executado a partir do domínio secundário, for retirado.

Imprimir a partir do programa apresenta o maior desafio. Duas impressoras paralelas diferentes são usadas com este programa, mas o programa imprime em uma única porta e não há nenhuma opção para alterar esse comportamento. Precisa imprimir um cheque na impressora a laser? Ele precisa ser anexado à porta LPT1. Precisa imprimir um despejo de dados na impressora matricial? Ele precisa ser anexado à porta LPT1 também. Duas pessoas trabalham com esse programa diariamente, então usaremos seus computadores, um para cada impressora. Vamos instalar a primeira impressora:

  • Se o computador tiver uma porta DB-25 (paralela) física, você poderá desativá-lo no BIOS. O Windows 8.1 não suportará isso e não precisamos disso.

  • Um adaptador Cables-to-Go modelo 16899 USB para DB25 é usado para conectar a impressora ao computador. O adaptador é instalado automaticamente e não é reconhecido como um dispositivo paralelo ou porta LPT.

  • Agora, abra Dispositivos e Impressoras. Clique em Adicionar impressora e selecione A impressora desejada não está listada. Na próxima caixa de diálogo, escolha Adicionar uma impressora local ou impressora de rede com configurações manuais e, na próxima caixa de diálogo, Usar uma porta existente. Selecione uma porta de impressora virtual para USB, USB001 ou USB002, na lista e não as opções de porta LPT.

  • A primeira impressora é uma impressora matricial multifunções Panasonic KX-P1191. A impressora não está listada na caixa de diálogo que solicita um driver e atualizar a lista clicando em Windows Update não ajuda. Uma verificação do site de suporte da Panasonic indica que a impressora não é suportada neste momento, mas um especialista em suporte técnico da Panasonic ajudou a decifrar o caminho que levou ao driver Epson FX Series 1 (80) incluído no Windows 8.1. Funciona perfeitamente.

Agora a impressora está instalada. Mas está na porta USB001 e o programa só imprimirá na porta LPT1. A solução é relativamente direta e pode ser integrada diretamente no arquivo em lote usado para iniciar o programa. Vamos começar a velha escola e jogar um truque em nossa impressora: vamos compartilhá-lo e imprimir para LPT1 dessa maneira.

  • Clique com o botão direito na impressora e escolha Propriedades. Compartilhe a impressora, não a liste no diretório, crie um nome de compartilhamento curto apenas para uma boa medida e garanta que o usuário da máquina cliente esteja listado na área Grupo ou nome de usuário na guia Segurança.

  • As duas pessoas que irão imprimir para essas impressoras criam meu cheque de pagamento, então eu dei a elas direitos de administrador de domínio. Isso pode ter sido desnecessário. Ambos são usuários no domínio principal, mas não no secundário, e eu não quis perder tempo resolvendo o problema de permissões.

Agora modifique o arquivo em lote e use o comando net use bem documentado para implementar a solução de impressão:

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

Onde COMPUTER é o nome do computador e PRINTER é o nome do compartilhamento da impressora. O procedimento funcionou igualmente bem em um segundo computador para a impressora HP LaserJet 1100 usando o driver "HP LaserJet 1100 (MS)" fornecido com o Windows 8.1.

- NOTAS -

Erro do sistema 5:

Certifique-se de que o usuário esteja listado na guia Segurança. "Todos" podem ser removido. Os privilégios de administrador do domínio são necessários para o usuário? Provavelmente não, se tudo estiver sendo executado em um domínio.

Erro do sistema 66:

Verifique sua sintaxe. Você provavelmente digitou errado o nome do computador, a impressora, ou talvez perdeu o cólon? Apenas um cólon é necessário, por a documentação da Microsoft. Vai adicionar um cólon desnecessário para lpt1 [:] causa falha?

Tudo sobre net use: link

    
por 16.02.2015 / 02:35
0

Existem muitos "adaptadores paralelos aos usb" no mercado. Você pode obter um on-line por cerca de US $ 10 e provavelmente é um bom lugar para começar.

    
por 30.08.2010 / 21:03
0

Você não disse qual hardware está usando, mas supondo que seja um PC Wintel, você deve ser capaz de comprar uma placa de porta paralela genérica para ela por quase nada. Além disso, você pode redirecioná-lo usando o NET USE, como sugerido por harrymc.

    
por 30.08.2010 / 21:29
0

Eu estava na mesma posição com o software baseado em Clipper comercial projetado. Parecia algum software de emulação paralela para imprimir em uma impressora USB que funcionou um pouco, mas teve seus próprios problemas. Superar os problemas do 64 Bit win10 no dos foi um verdadeiro desafio.

Encontrei o Harbor HMG que, depois de alterar algumas linhas de código, recompilou o software do aplicativo em 32 bits. Eu também tenho meus aplicativos gravar dados em arquivos temporários que eu pego com o Microsoft Access para colocar alguns relatórios formatados impressionantes. Ah, BTW Agora os aplicativos funcionam em janelas de 64 bits 10 com grandes melhorias na memória e velocidade. Além disso, tenho os relatórios enviados para impressoras de linha usb ou jatos de tinta ou o que eu escolher.

    
por 06.12.2017 / 16:24