打印机语言和技术

图片

今天,打印机与计算机没有太大区别。它具有处理器,内存,操作系统和只读内存。如果打印机是网络打印机,则它具有网卡和允许对其进行管理的Web服务器。打印机不仅支持不同的网络协议,还接受描述页面和文档布局的特定语言的任务。因此,在大型企业中,打印软件必须与打印协议的不同硬件实现进行交互,甚至可能是未知的。配置打印机打印比第一次出现要困难。用户认为打印是理所当然的,但是,要获得高质量的结果,您需要完成多个步骤。

在本文中,我建议考虑并比较选择新打印机,进行文档的印前准备或使用文档的电子PDF副本时遇到的打印技术。当然,如果您要尝试拦截和分析打印作业。

关于打印机语言


什么是印刷工作?这是用特殊的编程语言-页面描述语言(PDL)编写的程序。

打印的页面以PDL编码并且较小,这意味着它们比原始图像传输得更快。 PDL与设备本身和分辨率无关。打印机将专用语言的作业转换为设备友好的格式。这意味着打印机包含语言解释器。就像编程语言``a la Java''一样,这些语言有多个版本,每种版本的工作方式略有不同。

将PDL转换为位图是由处理器程序完成的:位图处理器,光栅图像处理器或简单的RIP。

最著名的PDL语言:Postscript,PCL5,PCL6

许多打印机不只一种语言。但是,如果以其他语言发送程序,则无法完成打印-编译器不相同。

PostScript是最常见的。最初由Adobe开发。它需要许可证才能使用,因此,今天它主要用于价格较高的高性能设备中。几乎所有组成页面的程序都可以生成PostScript作业。这是一种功能齐全的编程语言。可以使用文本编辑器查看编写的程序。它们有许多括号以及/%字符!

PS解释器将搜索这些字符以识别打印作业。

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还是MAC的标准和专业标准。

PCL(或打印机通用语言)是Hewlett Packard(以下称HP)的PostScript的替代产品。其他制造商的打印机可以理解该语言,有些只能使用。 PCL 不是一种编程语言;它只是告诉打印机应该如何打印页面。 PCL上的作业是二进制的,人类无法理解,但是其大小比PostScript短。

有一些将Postscript转换为PCL的过滤器。 PCL版本与PostScript的差异不大,但足以令人讨厌。在不同的打印机型号上,作业打印略有不同。原因是与特殊团队的方言。与PostScript不同,PCL最初是专为管理打印机而设计的,而不是为了页面可移植性而设计的,因此,要获得最佳的打印效果,必须使用相应打印机的命令。这就是为什么在操作系统(OS)中指示打印机型号的原因,否则会生成其他PCL命令,这些命令被错误地解释或完全忽略。

实际上,问题不仅在于硬件:存在所谓的仿真。

PCL仿真-这表示标准的开发人员(例如HP)尚未许可或测试制造商的打印机的PCL兼容性。

PostScript仿真 -Adobe没有为其PostScript解释器获得使用费;相反,一些供应商编写了自己的代码。许可政策引起了类似语言的方言,但并没有完全重复最初的语言。实际上,两者都可能因错误而失败,但这很少发生。

为了让您完全感到困惑,HP确定了两个语言家族:PLC5(黑白的5e和彩色的5c)和PCL6(PCL / XL)。较新的HP打印机都支持。以前,PCL4也存在,但是现在它已经过时了。从PCL5 5e开始,还引入了一些创新,例如:支持600 dpi分辨率,打印机和计算机之间的双向数据交换以及Microsoft Windows的新字体。

PCL5示例:

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

PCL6示例:

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

PDF是Adobe的另一项开发-可移植文档格式。这是一种文档格式,使用了PostScript功能的一部分,PostScript是发布和Office程序的基础。 PDF文档与操作系统和平台无关。通常,该格式用于交换具有查看和打印功能的文档。 PDF是用于描述文档而不是页面的语言。不仅可以描述页面,还可以描述文档,章节的整个结构,文本列之间的关系,编辑等。另外,还有许多多媒体功能。

有些打印机可以直接解释PDF。有许多能够将PDF转换为PostScript的翻译器和可视化编辑器。甚至可以向用户隐藏此转换。

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-相对较新出现。打印机以描述XHTML打印网页的语言接收数据流,生成作业表示(不同的打印机生成不同的作业,就像不同的浏览器对页面的不同反映一样)。

HP-GL / 2-惠普图形语言-用于将矢量图形打印为文档的一部分。

HPGL是绘图仪支持语言。几乎所有HP打印机都支持。

PJL-打印机作业语言。打印机的工作语言是HP的metaanguage,它描述了该工作应使用哪个PDL,将要使用的纸张尺寸,需要打印多少份,单工或双面工作等等。

PJL示例:

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

关于司机


打印机驱动程序和支持-将文件转换为易于打印的文件的软件。驱动程序的任务和功能回答了以下问题:“如果打印机不支持所有语言,该怎么办?”,“有后记作业,并且打印机仅识别PCL 5E。 “我需要打印PDF,如果打印机不解释该怎么办?”

系统将能够自行完成所有操作(查找PDL文件的语言,执行转换)。您也可以手动转换文件。浏览器可以将HTML转换为Postscript或PDF。 Open Office可以将.doc转换为PDF。从后记可以转换为几乎任何格式,包括PCL。

Gdi-可以在PC上集中查看和解释另一个打印作业。您也可以“毫无智能”地将完成的已处理位图图像发送到打印机。那就是有多少台Windows GDI打印机可以工作。这样的打印机只有很少的逻辑指令,根本没有PDL解释器。而是由主计算机执行光栅化。与GDI交互的部分信息隐藏在Windows专利中的代码中。这种保密性使得很难在Linux系统上开发类似物,实际上,这是一个优势。同样,在最新打印机型号的支持下,情况正在发展。但是,情况由于CUPS守护程序的存在而发生了变化,该守护程序支持使用逆向工程的许多Win打印机。

关于打印服务器


关于CUPS和通过它发送打印作业的乐趣。该打印服务器基于IPP,这是众所周知的HTTP重载。有关打印机状态的查询将作为HTTP GET操作进行,并通过HTTP POST打印作业。因此,CUPS实际上是一个Web服务器,但仅在端口631而不是80上进行通信。CUPS可能是地球上最完整的IPP实现,其配置文件与Apache Web服务器文件非常相似。并且,当然,它允许打印系统使用身份验证,访问控制和加密技术。

在Windows中,自Windows 2000开始出现通过IPP进行打印。在具有Windows 7和更高版本的客户端上,通常已经安装了IPP支持。还有Internet打印-通过IPP的Windows打印服务器的Windows实施。要安装它,您必须首先安装MS IIS Web服务器服务

关于打印机的安全性


当然,网络打印机支持其远程控制系统,配置和监视主要通过IPP或SNMP进行,或者通过Web浏览器通过HTTP进行。特别是,可以使用打印机访问以下参数:IP地址,标准网关,Syslog服务器,SNMP组名称(密码),协议选项,管理员密码。在这里,可能会通过SNMP和DDOS攻击进行未经授权的访问攻击。几乎所有可以远程管理的打印机都不安全,并且使用安装时提供的密码或SNMP名称。

打印机使用什么操作系统?某些型号配备了基于Linux的发行版。您只能通过阅读制造商的文档来了解打印机上安装了什么或更改默认密码。图形管理工具倾向于隐藏有关制造商之间差异的信息,这加剧了与操作系统的混淆。

最后,我想再说一遍,新闻界的问题是多方面的,其中有些不在本文的讨论范围之内。下次,我希望谈论日记,PPD文件和纸张尺寸。关于如何要求单色打印机以未知的b4格式打印双面彩色文档,以及各种打印实用程序和兼容性命令。

文章作者: Timur GaliulinGtrch

All Articles