PDL语言也就是所谓的打印语言,也可称为伪码或结构化语言,功能强大,能输出复杂的页面和图像,但由于其复杂性处理起来的速度也相对较慢。它要在Windows操作环境下,将Windows的位图格式转换成PCL格式的代码,这样打印机接收后由CPU解释并执行打印。
简介随着电子排版技术的不断发展和用户使用的要求提高,各种印刷品的版面越来越复杂,如版面上出现大最的文字排列及字体变化、文字的各种修饰和变形;版面上的图形、图像的位里、形状及相互关系越来越复杂等等,特别是彩色版面上五彩缤纷的颜色变化,形成了非常复杂的版面结构。为此,人们专门设计出一种计算机描述语言,用来描述、记录版面上的内容和结构,这就是页面描述语言。1
过去页面描述语言没有统一的标准,开发厂商“各讲各的方言”,互相之间无法交流,以致于文件无法相互兼容和传递。上世纪80年代末,国际上页面描述语言已经走向标准化,由Adobe公司开发的Post Script(简称PS)页面描述语言被人们普遍接受,并成为目前的工业标准,电子出版厂商自动向标准靠拢,走向开放式结构,相互间可以互相传递、相互兼容。
PDL语言(PDL language)一种设计性语言。它是由查理斯·格什克(Charles Geschke)和约翰·沃诺克(John Warnock)在1975年提出的。PDL是(Program Design Language)(设计性程序语言)的缩写,用于书写软件设计规约。它是软件设计中广泛使用的语言之一。
用PDL书写的文档是不可执行的,主要供开发人员使用。
PDL描述的总体结构和一般的程序很相似,包括数据说明部分和过程部分,也可以带有注释等成分。但它是一种非形式的语言,对于控制结构的描述是确定的,而控制结构内部的描述语法不确定,可以根据不同的应用领域和不同的设计层次灵活选用描述方式,也可以用自然语言。
分类PCL 和 PS 是两种标准化的页面描述语言(PDL)。PDL的特点是多用途和表达精细,用来输出复杂的页面和图像。其工作流程都是首先在计算机端将打印内容解释成标准的页面描述文件然后传送到打印机控制器中,在打印控制器中再将页面描述文件解释成可以打印的光栅图像。2
从其工作流程看,此两种方式中都对打印机中的打印控制器有很高的要求,同时要求打印机内部有足够的内存。
PCL语言PCL语言(打印机控制语言)是 HP 公司于70年代针对其激光打印机产品推出的一种打印机页面描述语言。PCL指令内嵌于打印数据流,把应用程序输出快速转译成高质量的、特定设备的光栅化图像。2
PCL5是HP公司为它的激光打印机LaserJetⅢ设计的,它提供了一些与PostScript语言相似的功能,开始支持矢量字库和矢量图形描述,实现了WYSIWYG(What You See Is What You Get,所见即所得),PCL5中也使用了各种压缩技术来减小数据量,加快数据传输。 PCL5e开始支持双向数据通讯,从而使打印机可以向计算机发送打印机的状态信息。PCL5c增加了对彩色打印的支持。
1996年HP公司发布了PCL6,它更加灵活,是一个目标朝向的控制语言,使处理多图形的文件的速度大大加快,实现了更好的WYSIWYG,可以更好地处理Web页面。
特点:
使用 PCL语言的打印机在处理文本或一些常见办公应用软件下的文档时具有非常明显的速度优势,比较适合一些普通的商务办公应用。
PS语言PS语言是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。
通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript 格式。从打印引擎的工作原理可知,打印机只能接受位图格式,当打印机控制器将PostScript转换成位图格式时,由于 PostScript 十分复杂,一般的打印控制器难以胜任,通常由打印机中专门的光栅图像处理器(Raster Image Processor) 来完成这一转换过程。
特点:
PS驱动程序在处理PDF文件或在Photoshop等软件下打印大的图形图像文件时具有一定的速度优势,同时其在图形表现准确度、色彩表现准 确度和一些字库表现准确度方面也比PCL语言有优势,适合对图形和色彩准确度要求比较高的专业应用。
PCL与PS的比较1.采用PS和PCL这两种语言的打印方式对打印机的“大脑”(CPU)要求较高,需要打印机能够自己独立处理转换的任务,并且需要打印机本身有足够的内存。
2.PS和PCL都具备标准化和与设备无关性的优势,对计算机系统资源占用也较少,两种语言的高版本还提高了对字库、图形和图像的解释能力,提供高打印质量的产品。由于对打印控制器性能要求较高,一定程度会增加机器成本,尤其是PS对打印控制器的性能要求更高。
3.使用PCL语言的打印机的速度优势:处理常见办公应用软件下的文档。
使用PS语言的打印机的速度优势:处理PDF文件或在Photoshop等软件下打印大的图形图像文件。同时在图形表现准确度、色彩表现准确度和一些字库表现准确度方面也比PCL语言有优势。
所以PCL语言比较适合一些普通的商务办公应用,而PS语言更加适合对图形和色彩准确度要求比较高的专业应用。这也是目前许多打印机产品同时提供PCL和PS两个版本的驱动的一个重要原因。3
模块结构PDL语言书写的模块结构如下:4
PROCEDURE() END
数据说明部分形式为:
数据说明表由一串说明项构成,每个说明项形如: As
语句部分可以包括:赋值语句、if then--else语句,do--while语句、for语句、调用语句、返回语句等。与一般程序模块不同,其语句中除描述控制结构的关键字外,书写格式没有严格定义。自然语言书写的注释可以插在任意位置。
举例理解例如:查找拼错单词的程序
-------------------------------------------------------------------------------
Procedure SPELLCHECK is
begin
split document into single words
look up words in dictionary
display words which are not in dictionary
treat a new dictionary
end SPELLCHCK
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Procedure 查找拼错单词 is
begin
把这个文件分离成单词
查字典
显示字典中查不到的单词
创造新字典
end 查找拼错单词
------------------------------------------------------------------------------
主要特征PDL应该具有下述特点:
关键字的固定语法,它提供了结构化控制结构、数据说明和模块化的特点。 为了使结构清晰和可读性好,通常在所有可能嵌套使用的控制结构的头和尾都有关键字。5
自然语言的自由语法,它描述处理特点。
数据说明的手段。应该既包括简单的数据结构(例如纯量和数组),又包括复杂的数据结构(例如,链表或层次的数据结构)。
模块定义和调用的技术,应该提供各种接口描述模式。
易理解。它虽然不如图形化的设计描述直观,但和可执行的程序具有类似的结构,因此便于实现借助计算机自动转 换为可执行的程序代码,已经研制出针对特定语言的自动工具。
PDL写出的程序:
① 用PDL写出的程序具有正文格式。在计算机上可做正文处理.
② PDL程序中会有一些能够标明程序结构的关键字。
③ PDL语言仅有少量的简单语法规则,大量使用人们习惯的自然语言。
④ 使用PDL语言常常按逐步细化的方式写出程序。
⑤ PDL程序的注释行对语句进行解释,起到提高可读性的作用。
程序构成(1)数据说明:PDL程序中指明数据名的类型及作用域。其形式为:
end
(3)分程序结构
begin
end
(4)顺序结构
选择型
if then
else
end if
if then
else if then
else
end if
WHILE循环
loop while
end loop
UNTIL型循环
loop until
end loop
CASE型
Case of
{,
[default]: []
end case
(5)输入/输出结构 print read display
优缺点优点·可以作为注释直接插在源程序中间。这样做能促使维护人员在修改程序代码的同时也相应地修改PDL注释,因此有助于保持文档和程序的一致性,提高了文档的质量。6
·可以使用普通的正文编辑程序或文字处理系统,很方便地完成PDL的书写和编辑工作。
·已经有自动处理程序存在,而且可以自动由PDL生成程序代码。
缺点是不如图形工具形象直观,描述复杂的条件组合与动作间的对应关系时,不如判定表清晰简单。
本词条内容贡献者为:
闫晓东 - 副教授 - 中央民族大学信息工程学院