SOLUÇÃO PARA IMPRESSÃO USB
Moderador: Moderadores
SOLUÇÃO PARA IMPRESSÃO USB
Pesquisei aqui no forum sobre impressão USB... li muita coisa... muitas otimas soluções... mas só achei soluções dependendo de programas externos... como procurava algo mais simples e independente... entaum continuei pesquisando outras fontes e acabei encontrando essa solução... se ja foi postado... desconsiderem!
Vamos lá... pode-se fazer com que um aplicativo DOS rodando em Windows 95/98/2000/XP use a impressora USB “fingindo” que ela está em rede, mesmo em máquinas isoladas. Clique com botão direito sobre o ícone da impressora e escolha “Compartilhamento” da Impressora USB... Na aba “Compartilhamento” marque o botão “Compartilhar esta impressora”, entre na caixa “Nome do compartilhamento” e informe o NOME_DA_IMPRESSORA e clique em OK.
Aí é só mapear assim:
net use lpt1 \\127.0.0.1\[NOME_DA_IMPRESSORA]
Comigo Funcionou em Windows 95/98/2000/XP.
Por favor... postem os resultados.
Vamos lá... pode-se fazer com que um aplicativo DOS rodando em Windows 95/98/2000/XP use a impressora USB “fingindo” que ela está em rede, mesmo em máquinas isoladas. Clique com botão direito sobre o ícone da impressora e escolha “Compartilhamento” da Impressora USB... Na aba “Compartilhamento” marque o botão “Compartilhar esta impressora”, entre na caixa “Nome do compartilhamento” e informe o NOME_DA_IMPRESSORA e clique em OK.
Aí é só mapear assim:
net use lpt1 \\127.0.0.1\[NOME_DA_IMPRESSORA]
Comigo Funcionou em Windows 95/98/2000/XP.
Por favor... postem os resultados.
Marcos Villela
x[H]arbour.org (CVS) | GtWvW+HwGui (CVS) | HbMake | Dbf | Rdd DbfCdx | LeToDb (CVS) (Implantando)
===============================================================
“Quem nunca dormiu à noite e acordou de repente, suando frio e chorando, chorando e
chorando? Se isso lhe aconteceu, então você foi apanhado pelo blues.” (Robert Johnson)
Sweet Home Chicago (Versão Blind Bulldog Blues): www.youtube.com/watch?v=J-V61vQTSZs
x[H]arbour.org (CVS) | GtWvW+HwGui (CVS) | HbMake | Dbf | Rdd DbfCdx | LeToDb (CVS) (Implantando)
===============================================================
“Quem nunca dormiu à noite e acordou de repente, suando frio e chorando, chorando e
chorando? Se isso lhe aconteceu, então você foi apanhado pelo blues.” (Robert Johnson)
Sweet Home Chicago (Versão Blind Bulldog Blues): www.youtube.com/watch?v=J-V61vQTSZs
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Essa idéia já é conhecida aqui no FORUM, mas Marcos me permita fazer duas observações que se tornam inconvenientes para o uso com do NET USE.
Você nos disse que esta opção pode ser usada "mesmo em máquinas isoladas", você se refere a computadores "stand-alone", isto é: não em rede ?. Eu não obtive sucesso para usar uma impressora USB no próprio PC onde estava instalado. Isto é, não permite que faça-se o mapeamento no proprio PC. Você tem certeza que podes mapear essa impressora na mesma máquina que está instalada ?.
E a segunda questão, é que nem sempre você possue os comandos da impressora. O cliente, nem sempre avisa que está comprando uma nova impressora e daí você se depara com um modelo de impressora que nunca viu. Por isso, utilizo o USB.EXE (do Heveraldo) que mesmo que tenha apenas tres opções de impressão (negrito, condensado, expandido, por exemplo), então daí fica uma coisa mais genérica.
Enfim, esta é a minha opinião e pode ser que outros colegas prefiram outra forma de imprimir, como criar RTF, HTM, impressão gráfica, etc...
Mas que eu gostaria de saber se funciona mesmo na mesma máquina que está instalada/conectada a impressora USB e ainda utilizar-se do NET USE, se isto é possível (comigo não funcionou).
Marcos, gostaria que confirmasse se isso é assim ou seja, você tenha conseguido mapear a si mesmo (me refiro a mesmo PC).
Um clip-abraço :)Pos
Você nos disse que esta opção pode ser usada "mesmo em máquinas isoladas", você se refere a computadores "stand-alone", isto é: não em rede ?. Eu não obtive sucesso para usar uma impressora USB no próprio PC onde estava instalado. Isto é, não permite que faça-se o mapeamento no proprio PC. Você tem certeza que podes mapear essa impressora na mesma máquina que está instalada ?.
E a segunda questão, é que nem sempre você possue os comandos da impressora. O cliente, nem sempre avisa que está comprando uma nova impressora e daí você se depara com um modelo de impressora que nunca viu. Por isso, utilizo o USB.EXE (do Heveraldo) que mesmo que tenha apenas tres opções de impressão (negrito, condensado, expandido, por exemplo), então daí fica uma coisa mais genérica.
Enfim, esta é a minha opinião e pode ser que outros colegas prefiram outra forma de imprimir, como criar RTF, HTM, impressão gráfica, etc...
Mas que eu gostaria de saber se funciona mesmo na mesma máquina que está instalada/conectada a impressora USB e ainda utilizar-se do NET USE, se isto é possível (comigo não funcionou).
Marcos, gostaria que confirmasse se isso é assim ou seja, você tenha conseguido mapear a si mesmo (me refiro a mesmo PC).
Um clip-abraço :)Pos
Vc terá problema com as impressoras que não tem tabela de caracteres residentes.
Eu usei esse recurso de compartilhar a impressora e mapear a mesma. Funcionou, mas o problema é o mesmo citado acima.
Usando algum programa externo (eu uso o nodosimp.exe), vc usa a configuração do windows para imprimir. Se o usuário trocar de impressora vc não terá que fazer nada para que o sistema ontinue funcionando.
Eu usei esse recurso de compartilhar a impressora e mapear a mesma. Funcionou, mas o problema é o mesmo citado acima.
Usando algum programa externo (eu uso o nodosimp.exe), vc usa a configuração do windows para imprimir. Se o usuário trocar de impressora vc não terá que fazer nada para que o sistema ontinue funcionando.
"TRS-80/Sincler/Apple/PC - Clipper Winter 85, tlink 1.0 [pc 10 MHz - 640K] {NEZ 8000 2Kb RAM}"
{POG - Programação Orientada a Gambiarra}
{POG - Programação Orientada a Gambiarra}
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Tá bom Leonardo, você está indicando o xHarbour, mas poderia explicar como acontence a impressão em xHarbour ?. Isto é, poderia dar algum exemplo de como é feito em xHarbour ?. È colocado alguma espécie de TAG ?. Porque se a questão são os comando de impressão, então no xHarbour funciona diferente ?. Mas dê um exemplo colega, para ver se é indolor (como você disse), além da questão de imprimir em USB e os diferentes formatações na impressão (negrito, condesado, expandido, etc...)sygecom escreveu:o negocio é usar o xHarbour.....a migração é indolor..
Um clip-abraço :)Pos
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, eu postei um exmplo usando a classe win32prn:
https://pctoledo.org/forum/viewtopic.php?t=5764
Abraços
Leonardo Machado
https://pctoledo.org/forum/viewtopic.php?t=5764
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche ...soh pra completar...um outro exemplo bem simples:
Nesse exmplo acima se for uma impressora LX-300 vc pode usar os CHR(15) para condensar e assim por diante !! facil neh !!
Abraços
Leonardo Machado
Código: Selecionar todos
set printer to ( GetDefaultPrinter() )
set console off
set printer on
set device to print
? 'IMPRIMINDO'
set printer off
set device to screen
set console on
set printer to
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Ok Leonardo, o seu exemplo é demasiado simples e transparente assim como é feito em Clipper. Mas eu me referia a como farias para fazer uma forma UNIVERSAL de comando ?.
Pois a dúvida fica... como será que o Heveraldo fez com respeito a TAG e a impressão que serve para qualquer impressora. Como exemplo: como seria a interpretação da TAG em xHarbour, para fazer expandido numa impressora jato de tinta (por exemplo) ?.
Pelo que estou vendo você iria implementar o comando de TAL impressora na hora de envio de impressão e daí você irá precisar de todas as formas o comando para esse tipo de impressora. Estou certo ?
Tudo bem Leonardo, se você não souber, entendo que estarias começando com xHarbour e quem sabe você possa fazer algum esclarecimento aqui pra nós.
Um clip-abraço :)Pos
Pois a dúvida fica... como será que o Heveraldo fez com respeito a TAG e a impressão que serve para qualquer impressora. Como exemplo: como seria a interpretação da TAG em xHarbour, para fazer expandido numa impressora jato de tinta (por exemplo) ?.
Pelo que estou vendo você iria implementar o comando de TAL impressora na hora de envio de impressão e daí você irá precisar de todas as formas o comando para esse tipo de impressora. Estou certo ?
Tudo bem Leonardo, se você não souber, entendo que estarias começando com xHarbour e quem sabe você possa fazer algum esclarecimento aqui pra nós.
Um clip-abraço :)Pos
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Tche, ele deve ter usada a classe WIN32PRN de uma olhada no exemplo do link que coloquei na seção CODIGO FONTE lah vc vera que eu independente da impressora mando imprimir condesando ou normal....ou seja 136 colunas =condensado ou 80 colunas=normal.
Obs:o Heveraldo deve ter definido seus comandos internos....igual funciona o PRWIN do Vagner.
Abraços
Leoanrdo Machado
Obs:o Heveraldo deve ter definido seus comandos internos....igual funciona o PRWIN do Vagner.
Abraços
Leoanrdo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Então Leonardo seria ssim a interpretação em xHarbour:
Geralmente é esta tipo de fonte "Courier New" que é o mais aproximado ao caracter em ASCII puro. É interessante, desta forma poderia ser montado uma tabela de tamanho de acordo com o terceiro parâmetro passado no setfont() do xHarbour. Legal, eu tinha visto e acabei esquecendo. Mas era isso que queria que você expusesse pra nós.
Obrigado, "Leoanrdo"... hehe viu que desta vez foi você que erro seu próprio nome... (veja na sua msg anterior) :)Pos
Código: Selecionar todos
oPrinter:SetDefaultFont()
if tamrel > 80
oPrinter:setfont('Courier New',,17,,,,255)
else
oPrinter:setfont('Courier New',,11,,,,255)
endif Obrigado, "Leoanrdo"... hehe viu que desta vez foi você que erro seu próprio nome... (veja na sua msg anterior) :)Pos
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Meu... você está longe... estarias aqui no Paraná Ahhh já sei você está curtindo as cataratas de Foz de Iguaçú !!!. Mas de todas formas, é dificil estar longe de familia, principalmente longe do teu filhinho...sygecom escreveu:estou a 750KM de casa...cansado,com sono...e cheio de serviço pela frente...
Muita sorte aí colega !. Vê se descansa !
Um clip-abraço :)Pos
Olá pessoal...
Obrigado pelas respostas e comentarios de todos... realmente tem esse problema de impressoras que não tem tabela de caracteres residentes... e a troca de impressora do cliente... q é comum... acredito mesmo que não compensa a dor de cabeça.
Pablo... se vc ativar o compartilhamento de uma impressora LOCAL e usar esse comando que mencionei... vc consegue mapear a impressora LOCAL como se fosse uma impressora de rede, na mesma maquina que ela esta instalada... mas tem os casos que foram citados... q vc mesmo mencionou um... e admito... me desanimaram profundamente... e me fez pensar melhor em me dedicar a conhecer um pouco mais do xharbour... se alguem aqui usa o xharbour e quiser dar uma força pra alguem que quer começar... agradeço demais... meu msn é ericdravenbr@hotmail.com
abraços
Obrigado pelas respostas e comentarios de todos... realmente tem esse problema de impressoras que não tem tabela de caracteres residentes... e a troca de impressora do cliente... q é comum... acredito mesmo que não compensa a dor de cabeça.
Pablo... se vc ativar o compartilhamento de uma impressora LOCAL e usar esse comando que mencionei... vc consegue mapear a impressora LOCAL como se fosse uma impressora de rede, na mesma maquina que ela esta instalada... mas tem os casos que foram citados... q vc mesmo mencionou um... e admito... me desanimaram profundamente... e me fez pensar melhor em me dedicar a conhecer um pouco mais do xharbour... se alguem aqui usa o xharbour e quiser dar uma força pra alguem que quer começar... agradeço demais... meu msn é ericdravenbr@hotmail.com
abraços
Marcos Villela
x[H]arbour.org (CVS) | GtWvW+HwGui (CVS) | HbMake | Dbf | Rdd DbfCdx | LeToDb (CVS) (Implantando)
===============================================================
“Quem nunca dormiu à noite e acordou de repente, suando frio e chorando, chorando e
chorando? Se isso lhe aconteceu, então você foi apanhado pelo blues.” (Robert Johnson)
Sweet Home Chicago (Versão Blind Bulldog Blues): www.youtube.com/watch?v=J-V61vQTSZs
x[H]arbour.org (CVS) | GtWvW+HwGui (CVS) | HbMake | Dbf | Rdd DbfCdx | LeToDb (CVS) (Implantando)
===============================================================
“Quem nunca dormiu à noite e acordou de repente, suando frio e chorando, chorando e
chorando? Se isso lhe aconteceu, então você foi apanhado pelo blues.” (Robert Johnson)
Sweet Home Chicago (Versão Blind Bulldog Blues): www.youtube.com/watch?v=J-V61vQTSZs
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Marcos, você tem inteira razão sobre que a captura funciona no mesmo PC que está instalado (local, digamos), claro que tem que estar compartilhada a impressora. Mas um detalhe muito importante que é bom mencionar para que fique registrado:
Se o nome da impressora compartilhada for EPSON, funciona a captura (testei somente em WIN98) da seguinte forma:
NET USE LPT1 \\127.0.0.1\EPSON
Mas se você tentar:
NET USE LPT1 \\PABLO\EPSON
Desta ultima não funciona, dá o seguinte erro em WIN98:
Valeu e fica aqui registrado. E quanto a busca de outra linguagem, é claro que sempre é válido. E nós temos a mão, o xHarbour que parece ser muito conveniente para nós que programamos em Clipper. Mas acredito que suporte do xHarbour, você terá mais sucesso na seção aqui do proprio xHarbour.
Um clip-abraço :)Pos
Obs.: Marcos esse da foto é você ?. Estás tocando gaita ou está apenas limpando o nariz ??
Se o nome da impressora compartilhada for EPSON, funciona a captura (testei somente em WIN98) da seguinte forma:
NET USE LPT1 \\127.0.0.1\EPSON
Mas se você tentar:
NET USE LPT1 \\PABLO\EPSON
Desta ultima não funciona, dá o seguinte erro em WIN98:
Engraçado, por isso que nunca deu certo comigo, pois através o IP, ele faz... vai entender a Microsoft. Mas em outras versões do WINDOWS não testei.Erro 2106: Esta operação não pode ser realizada para seu próprio computador;
poderá ser realizada somente em um servidor. Para maiores informações,
contate seu administrador da rede.
Valeu e fica aqui registrado. E quanto a busca de outra linguagem, é claro que sempre é válido. E nós temos a mão, o xHarbour que parece ser muito conveniente para nós que programamos em Clipper. Mas acredito que suporte do xHarbour, você terá mais sucesso na seção aqui do proprio xHarbour.
Um clip-abraço :)Pos
Obs.: Marcos esse da foto é você ?. Estás tocando gaita ou está apenas limpando o nariz ??

