Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: NASA - Imagens do Dia
Por gustavs
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Como imprimir diretamente na porta de impressão
Linux user
master_foca
12/01/2004
Olá amigos, neste artigo vamos aprender como enviar a impressão diretamente para a porta da impressora a partir de um programa em Kylix. Também veremos formas de se formatar o texto a ser enviado para impressão.
Por: Marcelo Caçapava Lopes Silva | Blog: http://www.logicaone.com.br
[ Hits: 7533 ]
Conceito: 10.0   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Introdução

Primeiramente vamos criar uma nova aplicação e no centro da form1 vamos inserir um botão com a propriedade caption chamado de "Imprimir". A partir daí basta dar um duplo clique no botão e mãos à obra!

procedure TForm1.Button1Click(Sender: TObject);
var
  Impr : TextFile;
  i : Integer;

begin
// abre a porta da impressora para gravação
  AssignFile(Impr, '/dev/lp0');
{ Lembrem-se, em alguns sistemas operacionais as operações de acesso ao dispositivo /dev/lp* são rw-rw, permitindo leitura e gravação ao grupo e ao proprietário e negando acesso ao restante. Para disponibilizar esse acesso à todos, basta dar o seguinte comando como root:

# chmod o+w /dev/lp*
}



  Rewrite(Impr);

// configura tipo de letra
  Write(Impr,#27'(s1p52T');

// impressão normal
  Write(Impr,#27'&a5r5C'+#27'(s0b0S'+'VIVA O LINUX');

// impressão negrito
  Write(Impr,#27'&a7r5C'+#27'(s3b0S'+'VIVA O LINUX');

// impressão itálico
  Write(Impr,#27'&a6r5C'+#27'(s0b0S'+'VIVA O LINUX');

// impressão negrito itálico
  Write(Impr,#27'&a8r5C'+#27'(s3b1S'+'VIVA O LINUX');

// muda tamanho da fonte
  for i := 1 to 7 do
    Write(Impr,#27'&a'+IntToStr(8+i)+'r5C'+#27'(s0b0s'+
       IntToStr(i*2)+'V'+'VIVA O LINUX');

// reinicializa a impressora
  Write(Impr,#27'E');

// fecha o arquivo de impressão
  CloseFile(Impr);
end;

Agora é só executar o programa e imprimir. Até mais!

=============================
Viva a liberdade dos códigos
=============================


Master Foca.





Páginas do artigo
   1. Introdução

Outros artigos deste autor

Leitura recomendada
Nenhum artigo encontrado.

Comentários
[1] Comentário enviado por guthos em 13/01/2004 - 15:06h:

isso deve ser muito interessante vou testar em casa depois

[2] Comentário enviado por guthos em 13/01/2004 - 15:09h:

isso deve ser muito interessante vou testar em casa depois

[3] Comentário enviado por guthos em 13/01/2004 - 15:10h:

isso deve ser muito interessante vou testar em casa depois

[4] Comentário enviado por wronieri em 12/07/2004 - 14:59h:

Legal Marcelo vc tem alguma documentação ou como acessar a paralela para outras coisas como mecatrônica? seria parecido com o pascal?

[5] Comentário enviado por tidus em 09/04/2005 - 23:58h:

Esse código funciona no Delphi tb?

[6] Comentário enviado por sitevirtual em 09/10/2005 - 14:44h:

Marcelo, você poderia informar como eu faço para imprimir quatro barras (retângulo) com uma cor em cada uma das barras e uns textos tanto em negrito como normal. Seria mais ou menos assim:

BARRA RETANGULAR PRETA
BARRA RETANGULAR AZUL
BARRA RETANGULAR VERMELHA
BARRA RETANGULAR AMARELA

Abaixo eu queria colocar um texto em negrito e normal, mas você já explicou, o problema são as barras que devem ter as medidas no papel:

10 cm. X 1 cm.

Como fazer isso para funcionar no Lazarus e sistema Linux?

[7] Comentário enviado por evertoncyn em 10/12/2005 - 11:39h:

o kiliz tem o quick report?? qual componente usamos pra imprimir relatorio???


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.