PCL
Uma breve história do PCL
PCL (Printer Command Language), normalmente chamada simplesmente de PCL, foi desenvolvida pela HP para que programas e aplicativos pudessem controlar o equipamento de impressão. Esta linguagem se tornou uma das linguagens padrão de mercado para controle de dispositivo de impressão.
O PCL foi criado para fornecer uma maneira eficiente de controlar os recursos da impressora e também de muitos dispositivos de impressão, como plotter por exemplo. A primeira versão que chegou ao mercado de impressão comercialmente testado e aprovado foi o PCL3 com as primeiras impressoras da série LaserJet HP, isto em meados de 1984.
Os comandos PCL são códigos de sequencias que tem como inicio o códico (ESCAPE) e são incorporados no trabalho de impressão onde o engine (software residente) da impressora reconhece tal comando interpreta o mesmo e imprime o conteúdo do documento.
A linguagem PCL é comum a diversas impressoras e também em todas as impressoras HP, isto contribui para minimizar o suporte de problemas e também a proteger o investimento na hora da compra para determinadas tarefas e também desenvolvimento de aplicações.
Definição:
Os comandos PCL consistem de dois ou mais caracteres.
O primeiro caractere à esquerda é denominado caractere “ESCAPE”
Código ASCII = 27 (Decimal)
Código ASCII = 1B (Hexdecimal)
Para ilustração vou representar o caractere “ESCAPE” como Ec, sendo assim quando você amigo leitor ver o comando se iniciar como por exemplo EcXy#T, saiba que Ec significa “ESCAPE” e os demais comandos da sequencia eu explicarei ao longo deste documento, por enquanto vamos nos concentrar em comando a comando.
Então como mencionado acima o caractere “ESCAPE” define uma ação a ser executada pela impressora.
Exemplo:
EcE
Ec = Caractere ESCAPE
E=Comando de Reset da Impressora (Reset Printer)
Existe a parametrização de uma sequencia de “ESCAPE” e também a codificação de vários comandos concatenados numa mesma sequencia , vou deixar para depois para não confundir o aprendizado de inicio, sendo assim vamos começar por definição de páginas e layouts de documentos, passando assim pelos comandos mais usados e depois aprofundaremos na sintaxe dos mesmos.
Definição de Página:
Abaixo vou explicar como você posiciona o dado na página, estes conceitos são necessário para você amigo leitor entenda como formatar um documento e até mesmo posicionar o texto (dado variável) na página.
Página Física = pode-se dizer um lado da folha de papel;
Página Lógica = é uma área em que o cursor PCL pode ser posicionado;
Área Endereçável = é uma área do papel físico em que a impressora pode colocar um ponto (DOT);
Cursor PCL ou CAP = é a posição numa página lógica em que o caractere/linha/figura/ será posicionada. O cursor PCL pode ser movimentado para qualquer posição da página lógica. Quando o movimento for para fora dos limites da página lógica o mesmo não terá nenhum efeito. Lembrando que o cursor PCL é análogo (semelhante) ao cursor do terminal de vídeo.
Coordenada PCL = é o endereçamento físico em que o cursor irá se posicionar;
Coordenada X ou HMI = Determina a posição de uma coluna;
Coordenada Y ou VMI ou LPI = Determina a posição de uma linha;
DPI = é a quantidade de pontos a ser impresso em uma polegada quadrada;
Exemplo: 300 DPI
300 pontos na coordenada X;
300 pontos na coordenada Y;
Sendo então 90.000 pontos por polegada quadrada.
Conversão de centímetro para polegada:
Você pega o valor do centímetro e divide por 2.54 = valor em polegada;
Por exemplo:
5.08cm / 2.54 = 2 Polegadas.
A conversão direta pode ser = Cm/0.008467 = Pontos (DOT)
Lembre-se que é significativo a unidade decimal do centímetro e da polegada.
Conversão de Polegada para pontos;
Polegada * 300 = Ponto;
2 Polegadas = ? Pontos
2 * 300 = 600 pontos (Dot)
Conversão direta: Pontos * 0.008467 = Cm
Lembrando que a unidade de pontos sempre é fornecida em inteiros.
Endereçamento das coordenadas X e Y;
O endereçamento das coordenadas X e Y é sempre feito em pontos:
Exemplo:
Linha, coordenada Y, distancia da margem superior = 5.12 cm;
Coluna, coordenada X, distancia da margem esquerda = 7.45cm;
Coordenada Y = 5.12 cm / 2.54 = 2.015748 Polegada * 300 = 604 Dot
Coordenada X = 7.45 cm / 2.54 = 2.933071 Polegada * 300 = 879 Dot
Coordenada Y = 604 Dot
Coordenada X = 879 Dot
Orientação de Impressão da Página Lógica
- Orientação Portrait, vertical ou retrato;
- A impressão é paralela à borda superior curta do papel
- Grau de rotação de impressão: 0 graus
- Orientação Landscape, horizontal ou paisagem;
- A impressão é paralela à borda esquerda longa do papel.
- Grau de rotação de impressão: 90 graus
- Orientação Portrait invertida;
- A impressão é paralela à borda inferior curta do papel.
- Grau de rotação de impressão: 180 graus
- Orientação Landscape invertida;
- A impressão é paralela à borda direita longa do papel
- Grau de rotação de impressão: 270 graus.
Dimensões da Página
- Papel Formato Carta
- 300 DPI;
- Orientação de impressão vertical ou portrait.
Dots | Polegadas | Centímetros | |
Altura da página | 3300 | 11.00 | 27.94 |
Largura da página | 2550 | 08.50 | 21.59 |
Altura da área impressa | 3150 | 10.50 | 26.67 |
Largura da área impressa | 2418 | 08.06 | 20.47 |
Margem de Silêncio (Área não endereçável pelo cursor PCL)
Dots | Polegadas | Centímetros | |
SUPERIOR | 66 | 0.22 | 0.56 |
INFERIOR | 66 | 0.22 | 0.56 |
ESQUERDA | 74 | 0.25 | 0.63 |
DIREITA | 76 | 0.25 | 0.64 |
- Papel Formato Carta
- 300 DPI;
- Orientação de impressão Horizontal ou Landscape.
Dots | Polegadas | Centímetros | |
Altura da página | 2550 | 08.50 | 21.59 |
Largura da página | 3300 | 11.00 | 27.94 |
Altura da área impressa | 2447 | 08.15 | 20.71 |
Largura da área impressa | 3174 | 10.58 | 26.87 |
Margem de Silêncio (Área não endereçável pelo cursor PCL)
Dots | Polegadas | Centímetros | |
SUPERIOR | 51 | 0.17 | 0.43 |
INFERIOR | 52 | 0.17 | 0.44 |
ESQUERDA | 63 | 0.21 | 0.53 |
DIREITA | 63 | 0.21 | 0.53 |
- Papel Formato A4;
- 300 DPI;
- Orientação de impressão Vertical ou Portrait.
Dots | Polegadas | Centímetros | |
Altura da página | 3507 | 11.69 | 29.70 |
Largura da página | 2480 | 08.27 | 21.00 |
Altura da área impressa | 3375 | 11.25 | 28.54 |
Largura da área impressa | 2335 | 07.87 | 19.76 |
Margem de Silêncio (Área não endereçável pelo cursor PCL)
Dots | Polegadas | Centímetros | |
SUPERIOR | 65 | 0.22 | 0.55 |
INFERIOR | 67 | 0.22 | 0.57 |
ESQUERDA | 72 | 0.24 | 0.61 |
DIREITA | 73 | 0.24 | 0.62 |
- Papel Formato A4;
- 300 DPI;
- Orientação de impressão Horizontal ou Landscape.
Dots | Polegadas | Centímetros | |
Altura da página | 2480 | 08.27 | 21.00 |
Largura da página | 3507 | 11.69 | 29.70 |
Altura da área impressa | 2375 | 07.91 | 20.10 |
Largura da área impressa | 3382 | 11.27 | 28.63 |
Margem de Silêncio (Área não endereçável pelo cursor PCL)
Dots | Polegadas | Centímetros | |
SUPERIOR | 52 | 0.17 | 0.44 |
INFERIOR | 53 | 0.17 | 0.45 |
ESQUERDA | 61 | 0.20 | 0.52 |
DIREITA | 64 | 0.21 | 0.54 |
Programação PCL
- Comandos de definição do ambiente de trabalho/job;
- Comandos de definição do controle do papel/página;
- Comandos de definição de fontes/macros/imagens;
- Comandos de definição de impressão;
- Comandos de posição/formatação de linha/coluna;
- Comandos de formatação de fontes.
- Comando de fim de trabalho.
Um programa pode conter:
(1) Definição do ambiente de trabalho/job;
(n) Definições de controle de papel/página;
(n) Definições de fontes/macros;
(n) Definições de controle de impressão;
(1) Definição de controle de fim de trabalho.
Comandos de Definição do Ambiente de Trabalho / Job:
1) Reinicializar a impressora:
EcE
Imprime todos os dados recebidos antes deste comando, inicializa a impressora e restaura os parâmetros padrões da mesma.
2) Universal Exit Language (ULA)
Ec% – 12345X
Imprime todos os dados recebidos antes deste comando, inicializa a impressora e restaura os parâmetros padrões da mesma.
3) Número de Cópias
Ec&l#X
Determina o número de cópias de cada página a ser impressa.
# = número de cópias (1 até 32767)
Default = 1
Exemplo: para imprimir 3 cópias de cada página:
Ec&l3X
4) Unidades de resolução
Ec&u#D
Determina a unidade de resolução da impressora (DPI).
# = unidade de resolução.
Default = 300
Exemplo: Setar a unidade para 600 DPI:
Ec&u600D
Este comando afeta todas as unidades de endereçamento em pontos.
Exemplo dos comandos de definição de ambiente de trabalho:
- EcE
- Ec% – 12345X
- Ec&l1X
- Ec&u600D
Comandos de Controle de página:
1) Origem do papel:
Ec&l#H
Determina a localização do papel:
# = 0 Imprime a página corrente;
# = 1 Via bandeja de papel;
# = 2 Alimentação Manual;
# = 3 Alimentação Manual de envelope;
# = 5 Alimentação da bandeja opcional de 500 folhas.
Outros conforme opcionais da impressora
Default = 1
Robson
02/03/2016 at 6:57 PM
Oi Márcio.
Por acaso você indicaria algum livro bom sobre PCL nem que seja em inglês?
CurtirCurtir