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.150 ]

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

Configurando o D-Link DSL-210 no Debian Etch

O Filho à Casa Torna

LibreOffice - Utilizando macro para preencher um documento no Writer

ReiserFS x Ext3: Quem ganha?

SimpleBurn: o ultraleve da gravação de CD/DVD

Leitura recomendada

Imprimindo com Kylix e CUPS

Instalando o Lazarus no Kurumin 6.0

Capturando seu desktop com uma aplicação feita em kylix

Criando aplicação para detectar informações do sistema em Kylix

Criando uma aplicação que mostra os processos em execução

  
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