IMPRIMIR IMAGEM COM PRINT #1
Olá pessoal, será que existe a possibilidade de imprimir uma imagem usando o PRINT #1, CLOSE #1 e não o PRINTER.... tenho um sistema para restaurantes com impressão de comandas e o cliente pediu para sair a logo dele nessas comandas,,, mas como é impressão direta pelo print fiquei sem saber se é possÃvel realizar esquema da imagem... Ele usa impressora térmica para soltar as comandas. Obrigado pela atenção e abs a todos.
Cara, é a primeira vez que vejo alguém querendo imprimir imagem pelo PRINT #1. Realmente nunca vi como se faz isto.
Algum motivo em especial pra não usar o Printer ?
Se vc usar o Visual Report X não seria mais prático ?
Algum motivo em especial pra não usar o Printer ?
Se vc usar o Visual Report X não seria mais prático ?
A resposta é bem simples, não tem como.
O comando Print #1 na verdade não imprime nada, na verdade este comando, junto com o Open fazem parte das funções de manipulação de arquivos do VB6, o que acontece é que se em vez de um arquivo você abrir por exemplo a porta LPT1, você vai passar a gravar dados direto nela, enviando os comandos diretamente para a impressora em modo texto, logo você fica limitado a imprimir apenas texto.
Se quer imprimir imagens não tem escolha, só usando o objeto Printer mesmo.
O comando Print #1 na verdade não imprime nada, na verdade este comando, junto com o Open fazem parte das funções de manipulação de arquivos do VB6, o que acontece é que se em vez de um arquivo você abrir por exemplo a porta LPT1, você vai passar a gravar dados direto nela, enviando os comandos diretamente para a impressora em modo texto, logo você fica limitado a imprimir apenas texto.
Se quer imprimir imagens não tem escolha, só usando o objeto Printer mesmo.
Existe a possibilidade mas tem que ver o seguinte:
1 - Qual o tipo de impressora
2 - Ver com o fabricante se oferece esse tipo de impressão, ou seja, alguma dll ou comando interno para o mesmo
3 - Por comando print tem como fazer mas é bem complicado porque tem que printar pixel a pixel e ve se o tipo de cupom que ta sendo impresso pode fazer a impressão disso.
1 - Qual o tipo de impressora
2 - Ver com o fabricante se oferece esse tipo de impressão, ou seja, alguma dll ou comando interno para o mesmo
3 - Por comando print tem como fazer mas é bem complicado porque tem que printar pixel a pixel e ve se o tipo de cupom que ta sendo impresso pode fazer a impressão disso.
Marca e modelo da impressora colega?
A impressora é um Bematech MP2500. Ele usa para emitir comandas de produção e entrega. Sei que o printer roda imagem mas no caso dele no final da impressão EndDoc da um salto no papel... Por isso perguntei sobre o Print #1, queira realmente ter a certeza de que não há nenhuma forma de usa-lo para impressão de imagem... no caso o cliente queria que saÃsse a logo no cabeçalho da comanda. Se eu ter que usar a dll da Bematech terei que fazer uma função só por causa dessa logo do cliente...pelo visto acho que esse será a única solução mesmo....
No caso desta impressora parece ser possÃvel através de uma dll da bematech, segue o site com exemplo
http://partners.bematech.com.br/2011/07/edicao-78-imprimindo-bitmaps-na-impressora-nao-fiscal/
O detalhe que fica é que nesse site explica apenas os comandos para imprimir imagem, muito provavelmente você vai precisar usar outros comandos, acredito que no mÃnimo o IniciaPorta e o FechaPorta, para abrir e fechar a comunicação com a impressora, o que muito provavelmente só vai funcionar se você não estiver com a porta aberta pelo comando Open do VB6
Você pode conferir todos os comandos na documentação da dll aqui: http://partners.bematech.com.br/suporte/mp2032/index.htm
E pelo que vi na documentação, se você quiser pode até mesmo usar apenas a dll deles para fazer tudo, e não sei se você já usa ela já que não sei se existem outras formas de usar certos recursos dela como por exemplo a guilhotina para cortar o papel automaticamente.
http://partners.bematech.com.br/2011/07/edicao-78-imprimindo-bitmaps-na-impressora-nao-fiscal/
O detalhe que fica é que nesse site explica apenas os comandos para imprimir imagem, muito provavelmente você vai precisar usar outros comandos, acredito que no mÃnimo o IniciaPorta e o FechaPorta, para abrir e fechar a comunicação com a impressora, o que muito provavelmente só vai funcionar se você não estiver com a porta aberta pelo comando Open do VB6
Você pode conferir todos os comandos na documentação da dll aqui: http://partners.bematech.com.br/suporte/mp2032/index.htm
E pelo que vi na documentação, se você quiser pode até mesmo usar apenas a dll deles para fazer tudo, e não sei se você já usa ela já que não sei se existem outras formas de usar certos recursos dela como por exemplo a guilhotina para cortar o papel automaticamente.
Então todos os comandos dela com a guilhotina eu uso pelo PRINT #1, apenas a questão da logo que terei que verificar se terei como eu usar um comando dentro da minha rotina que ja esta pronta, ou se terei que fazer um função nova utilizando apenas os recursos da dll, por isso queria saber do PRINT para não ter que refazer tudo...
Citação::
A impressora é um Bematech MP2500. Ele usa para emitir comandas de produção e entrega. Sei que o printer roda imagem mas no caso dele no final da impressão EndDoc da um salto no papel... Por isso perguntei sobre o Print #1, queira realmente ter a certeza de que não há nenhuma forma de usa-lo para impressão de imagem... no caso o cliente queria que saÃsse a logo no cabeçalho da comanda. Se eu ter que usar a dll da Bematech terei que fazer uma função só por causa dessa logo do cliente...pelo visto acho que esse será a única solução mesmo....
Não tem como vc adicionar um tamanho do papel personalizado, e escolher pelo Printer.Papersize o tamanho do papel que vc criou ?
Se o problema é o salto, tenho quase certeza que tem solução. mas tem tanto tempo que não lembro mais como se faz.
Realmente o problema do Printer com o salto de papel acredito que não tenha jeito mesmo,,,
Tópico encerrado , respostas não são mais permitidas