Como imprimir diretamente na porta de impressão

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.

[ Hits: 16.148 ]

Por: Perfil removido em 12/01/2004


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

Gerencie suas informações através de instruções SQL com selects turbinados (para leigos e experts)

Sistemas de arquivos EXT3 e ReiserFS no GNU/Linux

Quero usar o Baiacu em casa, mas será que eu posso?

Instalando o Gentoo Linux através do live-cd do Ubuntu

Gerenciamento de pacotes RPM (parte 1)

Leitura recomendada

Imprimindo com Kylix e CUPS

Executando sua aplicação Kylix fora do Kylix

TCollection e Generics no Free Pascal - Uma breve visão sobre lista de objetos com o Lazarus

Criando uma aplicação Kylix com PostgreSQL usando Zeos (parte 1)

Integrando saídas de comandos shell com sua aplicação Kylix

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts