Linguagens e tecnologias da impressora

imagem

Hoje, a impressora não é muito diferente de um computador. Possui processador, memória, sistema operacional e memória somente leitura. Se a impressora for uma rede, ela possui uma placa de rede e um servidor da web que permite sua administração. As impressoras não apenas suportam protocolos de rede diferentes, mas também aceitam tarefas em idiomas específicos que descrevem o layout de páginas e documentos. Assim, em uma grande empresa, o software de impressão deve interagir com diferentes implementações de hardware do protocolo de impressão, possivelmente até desconhecidas. A configuração da impressão da impressora é mais difícil do que parece. Os usuários consideram a impressão garantida, para obter um resultado de qualidade, é necessário executar mais de uma etapa.

Neste artigo, proponho considerar e comparar as tecnologias de impressão encontradas ao escolher uma nova impressora, realizar a preparação de pré-impressão de um documento ou trabalhar com cópias eletrônicas de documentos em PDF. E, claro, se você estiver tentando interceptar e analisar um trabalho de impressão.

Sobre linguagens da impressora


O que é um trabalho de impressão? Este é um programa escrito em uma linguagem de programação especial - PDL (Linguagem de descrição da página).

As páginas impressas são codificadas em PDL e são menores, o que significa que são transmitidas mais rapidamente que as imagens brutas. As PDLs são independentes dos dispositivos e da resolução. As impressoras convertem trabalhos em um idioma especializado em um formato compatível com o dispositivo. Isso significa que as impressoras contêm intérpretes de idiomas. Assim como as linguagens de programação “à la Java”, essas linguagens têm mais de uma versão e cada uma funciona à sua maneira.

A conversão de PDLs em bitmaps é feita por um programa de processador: um processador de bitmap, Raster Image Processor ou apenas RIP.

As línguas PDL mais famosas: Postscript, PCL5, PCL6

Muitas impressoras entendem mais de um idioma. Mas se você enviar o programa em um idioma diferente, a impressão não poderá ser concluída - o compilador não é o mesmo.

PostScript é o mais comum de todos. Originalmente desenvolvido pela Adobe. Ele requer uma licença para uso, portanto hoje é usado principalmente em dispositivos de alto desempenho do segmento de preço superior. Quase todos os programas que compõem páginas podem gerar trabalhos PostScript. Esta é uma linguagem de programação totalmente funcional. Programas escritos podem ser visualizados usando um editor de texto. Eles têm muitos parênteses, além de /% caracteres!

PS Esses caracteres são pesquisados ​​por intérpretes para reconhecer trabalhos de impressão.

Exemplo PostScript:

%!PS-Adobe-3.0 EPSF-3.0
   %%Creator: [generally the program that generated the postscript]
   %%Title: [descriptive name or just the file name]
   %%CreationDate: [date the file was created]
   %%DocumentData: Clean7Bit
   %%Origin: [eg: 0 0]
   %%BoundingBox: xmin ymin xmax ymax
   %%LanguageLevel: 2 [could be 1 2 or 3]
   %%Pages: 1
   %%Page: 1 1
   %%EOF

PostScript também é o padrão para MAC e o padrão profissional.

PCL - ou Linguagem comum da impressora - é uma alternativa ao PostScript da Hewlett Packard (doravante HP). A linguagem é compreensível para impressoras de outros fabricantes, algumas só podem trabalhar com ela. PCL não é uma linguagem de programação, simplesmente informa à impressora como deve imprimir as páginas. Os trabalhos no PCL são binários e incompreensíveis para os seres humanos, mas com tamanho menor que o PostScript.

Existem filtros que convertem o Postscript para PCL. As versões PCL não variam tanto quanto o PostScript, mas o suficiente para ser irritante. Os trabalhos são impressos de maneira ligeiramente diferente em diferentes modelos de impressora. O motivo está nos dialetos com equipes especiais. Ao contrário do PostScript, o PCL foi originalmente projetado especificamente para gerenciar a impressora, e não para a portabilidade da página; portanto, para obter o melhor resultado de impressão, você deve usar os comandos da impressora correspondente. É por isso que o modelo da impressora é indicado no sistema operacional (SO); caso contrário, outros comandos PCL são gerados que são interpretados incorretamente ou completamente ignorados.

De fato, a questão não está apenas no hardware: existe a chamada emulação.

Emulação PCL- isso significa que o desenvolvedor do padrão (ou seja, HP) não licenciou ou testou a impressora do fabricante quanto à compatibilidade com PCL.

Emulação PostScript - a Adobe não recebeu royalties por seu intérprete PostScript; em vez disso, alguns fornecedores escreveram seu próprio código. As políticas de licenciamento deram origem a dialetos de idiomas - semelhantes, mas não repetindo exatamente o original. Na prática, ambos podem falhar com erros, mas isso raramente acontece.

Para confundi-lo completamente, a HP identificou duas famílias de idiomas: PLC5 (5e é preto e branco e 5c é colorido) e PCL6 (PCL / XL). As impressoras HP mais recentes suportam ambos. Anteriormente, o PCL4 também existia, mas agora é muito arcaico. A partir do PCL5 5e, também foram introduzidas inovações, como: suporte para resolução de 600 dpi, troca de dados bidirecional entre a impressora e o computador e novas fontes para o Microsoft Windows.

Exemplo PCL5:

^[E^[&11o0o1t016D^[&11X^[*r0F^[*r0F^[*v0n1O^[*p4300X^[%1BDT~,
00a4b100g2P^[*v1O^[*c899a154b10g2P^[*v1O^[*p346Y^[*p256X

Exemplo PCL6:

A’X^BX^BA.<89>A^@A.<86>A^CA.<8f>AA^@A.<88>A^AA.
Af^@^@A.A.dA^A:^@

PDF é outro desenvolvimento da Adobe - Portable Document Format. Este é um formato de documento que usa parte dos recursos do PostScript, a base da publicação e dos programas do Office. Os documentos PDF são independentes do SO e da plataforma. Muitas vezes, o formato é usado para a troca de documentos com a capacidade de visualizar e imprimir. PDF é uma linguagem para descrever documentos, não páginas. Permite descrever não apenas as páginas, mas também toda a estrutura do documento, capítulos, o relacionamento das colunas de texto entre si, as edições e assim por diante. Além disso, vários recursos de multimídia.

Existem impressoras que interpretam o PDF diretamente. Existem muitos tradutores e editores visuais com a capacidade de converter PDF, por exemplo, para PostScript. Essa conversão pode até ser oculta do usuário.

Exemplo em PDF:

PDF:
%PDF-1.4
%A.A.AA”
81 0 obj
<<
/Linearised 1
/O 83
/H [915 494]
/T 125075
>>
Endobj
Xref
81 24

XHTML - apareceu relativamente recentemente. A impressora recebe um fluxo de dados em uma linguagem que descreve a página da Web de impressão XHTML, gera uma representação de trabalho (impressoras diferentes geram trabalhos diferentes, assim como navegadores diferentes refletem a página de maneira diferente).

HP-GL / 2 - Hewlett-Packard Graphics Language - Usado para imprimir gráficos vetoriais como parte de um documento.

HPGL é uma linguagem de suporte para plotadora. Suportado por quase todas as impressoras HP.

PJL - Linguagem de trabalho da impressora. A linguagem do trabalho da impressora, a linguagem de metal da HP, descreve qual PDL deve ser usada para o trabalho, qual será o tamanho do papel, quantas cópias você precisa imprimir, um trabalho simples ou um duplex e assim por diante.

Exemplo de PJL:

@PJL SET DUPLEX=ON
@PJL SET PAGEPROTECT=OFF
@PJL SET COPIES=3
@PJL ENTER LANGUAGE =PCL

Sobre drivers


Driver e suporte da impressora - software que converte um arquivo em um arquivo para impressão. As tarefas e funções do driver respondem às perguntas: “E se a impressora não suportar todos os idiomas?”, “Existe um trabalho postscript e a impressora reconhece apenas PCL 5E. "Preciso imprimir um PDF, e se a impressora não o interpretar?"

O sistema poderá fazer tudo por conta própria (descobrir o idioma do arquivo PDL, realizar conversões). Você também pode converter o arquivo manualmente. Os navegadores podem converter HTML em postscript ou PDF. O Open Office pode converter .doc para PDF. De postscript pode ser convertido para quase qualquer formato, incluindo PCL.

Gdi- Outro trabalho de impressão pode ser visualizado e interpretado centralmente, em um PC. Você também pode enviar imagens de bitmap processadas finalizadas para a impressora "sem inteligência". É assim que muitas impressoras Windows GDI funcionam. Essas impressoras possuem um número muito pequeno de instruções lógicas e não possuem intérpretes PDL. Em vez disso, a rasterização é realizada pelo computador host. Parte das informações para interagir com o GDI está oculta no código do Windows sob patentes. Esse sigilo dificulta o desenvolvimento de análogos em sistemas Linux e, de fato, é uma vantagem. Da mesma forma, a situação está se desenvolvendo com o suporte dos modelos de impressora mais recentes. No entanto, a situação está mudando devido à existência do daemon CUPS com suporte para muitas impressoras Win usando engenharia reversa.

Sobre o servidor de impressão


Um pouco divertido sobre o CUPS e o envio de trabalhos de impressão através dele. Este servidor de impressão é baseado no IPP, que é a conhecida sobrecarga HTTP. As consultas sobre o status das impressoras são uma operação HTTP GET e imprimem os trabalhos por meio do HTTP POST. Portanto, o CUPS é, de fato, um servidor da web, mas se comunica exclusivamente na porta 631, não na 80. O CUPS é talvez a implementação mais completa de IPP do planeta, e seus arquivos de configuração são muito semelhantes aos arquivos do servidor da web Apache. E, é claro, permite que os sistemas de impressão usem tecnologias de autenticação, controle de acesso e criptografia.

No Windows, a impressão através do IPP apareceu desde o Windows 2000. Em clientes com Windows 7 e posterior, o suporte ao IPP geralmente já está instalado. Há também Internet Printing - implementação em Windows do servidor de impressão da Internet por meio do IPP. Para instalá-lo, você deve primeiro instalar o serviço do servidor web MS IIS

Sobre segurança para impressoras


As impressoras de rede, é claro, suportam seus sistemas de controle remoto, a configuração e o monitoramento são realizados principalmente através do protocolo IPP, SNMP ou de um navegador da Web via HTTP. Em particular, tendo acesso à impressora, você pode obter parâmetros como: endereços IP, gateway padrão, servidor Syslog, nome do grupo SNMP (senha), opções de protocolo, senha do administrador. Aqui, ataques de acesso não autorizado via ataques SNMP e DDOS são possíveis. Quase todas as impressoras que podem ser administradas remotamente são inseguras e usam a senha ou o nome SNMP fornecido no momento da instalação.

Qual sistema operacional a impressora está usando? Alguns modelos têm uma distribuição baseada em Linux a bordo. Você pode entender o que está instalado na impressora ou alterar as senhas padrão apenas pesquisando a documentação do fabricante. A confusão com o sistema operacional é agravada pelo fato de as ferramentas de administração gráfica tenderem a ocultar informações sobre as diferenças entre os fabricantes.

Concluindo, quero dizer novamente que os problemas da imprensa são multifacetados, alguns dos quais são deixados de fora do escopo do artigo. Na próxima vez, espero falar sobre registro no diário, arquivos PPD e tamanhos de papel. Sobre como solicitar a uma impressora monocromática que imprima um documento colorido em frente e verso em um formato b4 desconhecido, bem como sobre todos os tipos de utilitários de impressão e comandos de compatibilidade.

Autor do artigo: Timur GaliulinGtrch

All Articles