Formatar cupom não fiscal?

01/06/2016

0

Olá a todos!

Sou iniciante (estagiário) em Delphi, e estou montando um sistema de automação comercial, porém estou com dificuldades na hora de formatar o cupom não fiscal para impressão.

Estou passando as linhas de um RichEdit com os dados da venda para impressão, porém na hora que é impresso fica uma margem à direita muito grande e a linha _ que era pra ir até o final do papel não vai, assim como as informações. Queria saber se há alguma forma de definir a margem do papel.

Outra dúvida, se possível, gostaria de saber se é possível formatar os espaços entre os caracteres de forma que eu consiga arranja-los em colunas, e também deixar certas informações (linhas) no centro do papel. Segue o modo como estou realizando as impressões:

procedure TCIForm.Teste1Click(Sender: TObject);
var Impressora: TextFile;
var i: integer;
begin
AssignFile(Impressora, 'COM3');
ReWrite(Impressora);

//IMPRIMIR
for i := 0 to rch_texto.Lines.Count-1 do
Writeln(Impressora, rch_texto.lines.Strings[i]);

CloseFile(Impressora);
end;
Vitor Ferreira

Vitor Ferreira

Responder

Posts

01/06/2016

Robson Pinheiro

amigo ultilize o vdo print, facilita sua vida
Responder

01/06/2016

Vitor Ferreira

Obrigado por responder! mas como o VDOPrint poderia me ajudar? Estava em dúvida em usar direto a DLL da impressora, o que de certa forma facilitaria a formatação, mas preferi utilizar aquele método pois achei ser mais genérico e funcionaria para todas impressoras disponíveis. Sabe me dizer qual a melhor opção?
Responder

01/06/2016

Robson Pinheiro

ULTILIZO ELE NAS MINHAS APLICAÇÕES E FUNCIONA PERFEITAMENTE , IMPRESSORAS DE 40 COLUNAS , E 80 COLUNAS TANTO COM QUANTO USB - É MELHOR PRA VOCÊ - COM VDO VC FORMATA COMO QUISER - QUAL VERSÃO DO DELPHI?
Responder

01/06/2016

Vitor Ferreira

Delphi 7. Você teria a sintaxe do código genérica pra eu adaptar e fazer o teste?
Responder

01/06/2016

Robson Pinheiro

with VDOPrinter1 do
  begin
    BeginDoc;
    if PrinterType = ptCanvas then
      CanvasSets.Font.Size:= 14
    else
      //DotMatrixSets.Font.Size:=

    NewLine(2);
    Print(60, EdtNatureza_Operacao.Text, True);
    NewLine(2);
    Print(02, EdtRemetente.Text);
    Print(39, EdtDestinatario.Text, True);
    NewLine(4);
    Print(02, EdtConsignatario.Text, true);
    NewLine(4);
    Print(01, EdtCalculado.Text);
    EndDoc;
  end;
Responder

01/06/2016

Robson Pinheiro

chama no wats (31)98697-2261 agente pode se ajudar
Responder

01/06/2016

Vitor Ferreira

Tá, pode deixar! Muito obrigado pela ajuda.
Responder

01/06/2016

Argos Oliveira

Uma outra opção, e utilizar o componente RDPRINT, ótimo para esse formato que voçê deseja.!
Responder

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

Aceitar