Formatar cupom não fiscal?
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:
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;
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
Curtidas 0
Respostas
Robson Pinheiro
01/06/2016
amigo ultilize o vdo print, facilita sua vida
GOSTEI 0
Vitor Ferreira
01/06/2016
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?
GOSTEI 0
Robson Pinheiro
01/06/2016
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?
GOSTEI 0
Vitor Ferreira
01/06/2016
Delphi 7. Você teria a sintaxe do código genérica pra eu adaptar e fazer o teste?
GOSTEI 0
Robson Pinheiro
01/06/2016
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;
GOSTEI 0
Robson Pinheiro
01/06/2016
chama no wats (31)98697-2261 agente pode se ajudar
GOSTEI 0
Vitor Ferreira
01/06/2016
Tá, pode deixar! Muito obrigado pela ajuda.
GOSTEI 0
Argos Oliveira
01/06/2016
Uma outra opção, e utilizar o componente RDPRINT, ótimo para esse formato que voçê deseja.!
GOSTEI 0