GARANTIR DESCONTO

Fórum Impressao direto para impressora #262790

20/12/2004

0

Pessoal estou om uma duvida de como imprimir direto para a impressora, vi diversas functions etc.. mas ainda nao to conseguindo adaptar para o que eu quero.. acontece o seguinte...
Preciso fazer um programa para imprimir valores em folha de cheque que vem em formularios continuos, entao vai ter la


_____________________________________________________________
3.567,97
TRES MIL E QUINHENTOS E SESSENTA E SETE REAIS E NOVENTA E SETE
CENTAVOS
JOAO DA SILVA

SAO PAULO, 20 DE DEZEMBRO DE 2004
_____________________________________________________________


So que tem um problema caso o extenso do valor for maior que uma linha tem que ter uma divisao do extenso para a segunda linha e tbm essa medida tem que ser exata, e pelos testes que fiz nao adianta so pular uma linha, as vezes tem que pular uma linha e um pouquinho para chegar na medida da linha de baixo. Se alguem tiver alguma function que de para ajustar a impressao com detalhes em medidas me avise !!! Acho que enviando direto para a impressora fica mais facil que fazer por componente visual tipo report builder etc...


Peterks


Peterks

Peterks

Responder

Posts

20/12/2004

Dopi

Se vc está usando impressão direta verifique o espaçamento Vertical...
geralmente cheques usam espaçamento de 1/8 ou 7/72 e nao 1/6 que é o padrão das Impressoras

Pode ser que ajude...
O componente ACBrCHQ do projeto ACBr (Free e Multiplataforma) pode imprimir cheques nas Impressoras Chronos, Shalter, Bematech, e também em matriciais comuns...

O arquivo ACBrCHQImpressoraComum.pas faz todo o trabalho de impressão de Cheques em Impressoras matriciais, pode servir de subsidio para a sua rotina...


Responder

Gostei + 0

20/12/2004

Peterks

Saberia me informar aonde posso achar essa unit? se tiver e puder me passar agradeceria..
Email astalavista13@bol.com.br


Obrigado pela dica.. !!!


Responder

Gostei + 0

20/12/2004

Vinicius2k

Colega,

Se vc já pesquisou, já deve ter visto, mas se não, dê uma olhada no VDOPrint em http://devres.freeprohost.com

Ele não é específico para trabalhar com cheques como os do colega Dopi, mas é capaz de fazer a interface da sua aplicação diretamente com impressoras, matriciais ou InkJet / Laser.
Dentre as opções de espaçamento existe 1/8 que pode solucionar seu problema de salto.
No fórum do site existe uma modificação feita por um dos usuários adicionando a opção de espaçamento de 7/72. Esta opção não está implementada no componente por não ser aceito em todos os modelos de impressoras.

Se o pacote como um todo não lhe servir, como ele também é Open Source, vc pode analisar o código e aproveitar o que lhe interessar...

É apenas uma opção a mais, apesar de achar provável que os componentes do colega Dopi sejam mais apropriados para seu caso...

T+


Responder

Gostei + 0

20/12/2004

Dopi

Saberia me informar aonde posso achar essa unit? se tiver e puder me passar agradeceria..


Download em http://acbr.sourceforge.net


Responder

Gostei + 0

20/12/2004

Dopi

Aproveitando a presença do Vinicius... ;-)

Vinicius, há alguma possibilidade do VDOPrint ser Multiplaforma e rodar tb no Kylix ? Vc usa alguma chamada direta a API do Windows ?


Responder

Gostei + 0

20/12/2004

Peterks

Dopi entrei no site que me passou em downloads nao vi nada que possa a ser o componente que me passou.. e em componente nao ta funcionando o link sera que nao poderia me enviar no email que passei acima?
Obrigado mesmo.. Valeu


Responder

Gostei + 0

20/12/2004

Vinicius2k

Olá Dopi !

Talvez seja possível, mas eu, realmente não saberia lhe responder... Eu não trabalho, e nunca trabalhei com CLX no Delphi e nem sequer vi a IDE do Kylix até hoje... Meus projetos são direcionados, exclusivamente, para a plataforma Windows por pressão de mercado, infelizmente.
Como desconheço o ambiente, eu até ´travei´ as procedures Register para só deixarem o pacote disponível em aplicações VCL.

Sim. Eu faço chamadas ´indiretas´ à API do Windows que não sei se estariam disponíveis no Kylx. Digo indiretas, pq uso a unit WinSpool como intermediária.

Eu tenho duas classes básicas no pacote :

A TVDOCaPrinter que utilizo para interface com impressoras Inkjet/Laser ou até mesmo matriciais, via driver do Windows. Nesta classe uso internamente o objeto TPrinter da unit Printers que creio poder ser facilmente substituível pela QPrinters (apenas creio, não tenho certeza pelos motivos que expliquei acima)

A TVDODmPrinter já uma implementação inteira e totalmente voltada para as matriciais. Nesta classe também utilizo a unit Printers, mas apenas para dar algumas funcionalidades a mais no componente, como, por exemplo, obter a lista de impressoras instaladas, etc. Eu poderia deixar de utilizar a unit Printers, mas achei desncessário reescrever as implementações que ela possui, como no exemplo de lista de impressoras, a função [i:954fca6088]EnumPrinters[/i:954fca6088] da API.

Mas é nesta classe, como um todo, que pode haver maior dificuldade... Nela trabalho diretamente com a API através das funções da unit WinSpool, não sei se esta unit teria correspondência para CLX. Os documentos são escritos diretamente diretamente na impressora, como faria um driver, e através do Spool, mas o documento é aberto em modo RAW, o que permite a velocidade e ao mesmo tempo a facilidade de liberar a aplicação rapidamente, além de poder ser utilizado com impressoras de rede, sem necessidade de mapear portas.

Faço uso das seguintes funções da API :
function AbortPrinter; external winspl name ´AbortPrinter´;
function ClosePrinter; external winspl name ´ClosePrinter´;
function EndDocPrinter; external winspl name ´EndDocPrinter´;
function EndPagePrinter; external winspl name ´EndPagePrinter´;
function OpenPrinter; external winspl name ´OpenPrinterA´;
function StartDocPrinter; external winspl name ´StartDocPrinterA´;
function StartPagePrinter; external winspl name ´StartPagePrinter´;
function WritePrinter; external winspl name ´WritePrinter´;


Faço uso também da definição de tipo [b:954fca6088]TDocInfo1[/b:954fca6088]

Será que é possível transformar o pacote em cross-plataform? Se vc puder, dê uma olhada no código fonte... Confesso que fiquei curioso agora..

T+


Responder

Gostei + 0

21/12/2004

Vinicius2k

Dopi entrei no site que me passou em downloads nao vi nada que possa a ser o componente que me passou.. e em componente nao ta funcionando o link...

Colega,

O ACBr é um pacote inteiro para automação comercial... o que o Dopi quis dizer é o pacote tem um componente -- [b:3af6466e2d]ACBrCHQ[/b:3af6466e2d] -- que pode solucionar seu problema, mas que se não solucionar, dentro do pacote existe uma unit que pode lhe embasar para a criação da sua rotina de impressão de cheques -- [b:3af6466e2d]ACBrCHQImpressoraComum.pas[/b:3af6466e2d] --.

Vc deve baixar o pacote, instalar, verificar se o ACBrCHQ lhe atende. Se não atenter, vc deve estudar a unit indicada para implementar sua própria rotina. :wink:

T+


Responder

Gostei + 0

21/12/2004

Dopi

Dopi entrei no site que me passou em downloads nao vi nada que possa a ser o componente que me passou..


Ola Peterks,

esse link vai leva-lo direto para a pagina de Download do arquivo ACBr Ver 0.07a.
http://prdownloads.sourceforge.net/acbr/ACBr-0.07a.ZIP?download

Como o Vinicius disse, o ACBr é um conjunto de componentes voltados para facilitar a interação com diversos equipamentos de automação comercial, conforme consta na Pagina principal do projeto...

Se vc quiser ver o componente ACBrCHQ ´trabalhando´ sem a necessidade de instala-lo, rode o executável CHQTeste.exe que consta no ZIP DemosWin32_0.07a.zip que vem dentro do pacote do ACBr...


Responder

Gostei + 0

21/12/2004

Dopi

Será que é possível transformar o pacote em cross-plataform? Se vc puder, dê uma olhada no código fonte... Confesso que fiquei curioso agora.. T+


Ola Vinicius...

Muito obrigado pelas informaçoes detalhadas...

No ACBr tive a necessidade de implementar uma mini classe para acesso direto a Impressoras matriciais Seriais / Paralelas (TACBrDevice)... Mas fiz algo muito simples apenas para suprir as necessidades dos componentes ACBrCHQ e ACBrECF, que emulam em impressoras matriciais convencionais, o funcionamento do Hardware em correspondente...

Acho que um componentes completo para Impressão direta é importante para qq programador de Automaçao Comercial, seja para emissão de NF ou outros formulários continuos... Mas como a Multiplataforma é um dos principais objetivos do projeto, eu precisava que ele fosse compativel com a CLX.

Vou estudar os componentes VDOPrint e verificar a possibilidade de porta-lo pra CLX... Muito obrigado pela ajuda...


Responder

Gostei + 0

22/12/2004

Vinicius2k

Vou estudar os componentes VDOPrint e verificar a possibilidade de porta-lo pra CLX... Muito obrigado pela ajuda...


Blz !
Qualquer dúvida, estou à disposição por e-mail ou no fórum do meu site. :wink:

Sucesso !
T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar