2023年12月17日发(作者:奚逸)
PostScript语言
PostScript是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Printer Description )文件来实行各种打印机的不同特性。PPD文件主要提供以下与打印机有关的特定信息::默认/最高分辨率,是否支持半色调监控,用户设定的监控信息,页面大小定义,页面可打印区域,默认字体(通常为Courier),是否支持双面打印等等。每一种不同的PostScript打印机都分别对应有专门的PPD文件。在Adobe公 司的网站(http//:)上提供了各种主流的PPD文件。通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript格式。由于打印机只能接受位图格式,当打印机控制器将PostScript转换成位图格式时,由打印机中专门的光栅图像处理器(Raster
Image Processor)来完成这一转换过程。
由于使用PostScript打印机对打印控制器的要求都比较高,另外PostScript是Adobe公司的注册产品,打印机厂商在其产品中使用PostScript语言要支付Adobe公司一笔费用,因此使用PostScript的打印机的成本要比使用其他语言和控制方式的打印机要高。因此目前也出现了一些PostScript仿真,像HP公司的一些激光打印机中使用的PostScript仿真,可以和Adobe公司的PostScript完全兼容,也无需再支付Adobe公司相应的费用。
PostScript是一种编程语言,最适用于列印图像和文字(无论是在纸,胶片或非物质的CRT都可)。用现今的行话讲,它是页面描述语言。它与1985年由Adobe推出,最早在AppleLaserWriter上出现(据作者所知)。
PostScript的主要用意是是为以相对设备独立的方式描述影像提供一种方便的语言。该相对设备独立是指不以某种特定设备特性作参照,来描述影像(比如印表机的解析度),这样同一种描述不需修改就可适用于任何一种PostScript印表机(比如,LaserWriter 或Linotron)。实际情况下,有些PostScript文件对于目标设备做假设定(比如它的解析度或纸匣的数量),但这并不实用,而且局限了可转移性。
对於语言本身,通常是解译的,如RPN计算器一样的存储方式。程序把运算的参数存储在一起,然后调用该操作。通常情况下,运算后将结果留在存储显示上。例如,我们将12乘以134。我们会使用以下PostScript程式码:12 134 mul前面的两个字「12」和「134」将12和134存储显示。「mul」激活相乘运算,将两个数值相乘,并将结果推倒存储显示上。结果数值将保留在那里供以后程序中其它运算时使用。
根据手册中Adobe使用的规定,作者用以下两个主题概括运算:参数-1 参数-2。此概念是指使用运算时要推出参数-1 参数-2等后方可激活运算。运算后将显示结果。许多运算返回后无结果(因副作用);返回后显示「-」。
PostScript的发展历程
PostScript至今以有大约15年历史了。它对于印制工业产生很深渊的影响,甚至到今天仍保留着当LaserWriter印表机问世时重要的地位。
以下是PostScript的发展历程的一个概况。其中有些资料源于「Accidental empires」,由Robert Cringely编写的关于个人计算机革新的书。
为了更好理会PostScript,我们必须先了解在它出现以前市场是怎样运做的。在那时候,需要排版设备的话要找Acme Typesetters,他们会提供一套Acme系统及Acme输出设备。该Acme系统和其他生产商的设备
不兼容。在多数情况下,与其他系统调换数据相当困难,几乎是不可能的。
如果拥有一台个人计算机,连接在一台只能打出低品质位图字符的点阵印表机上。对於图像的打印效果也只能被在那个时代购买印表机的傻瓜们接受。
PostScript的历史由Parc开始,它是施乐的研究院,许多我们现在不以为然的计算机技术都是从那里开发的:几个首要的例子,如雷射印表机,图像使用者界面和以太网。
John Warnock是工作於施乐的出色的工程师之一。他开发了名为「Interpress」的语言,用於操作施乐雷射印表机。他和他的上司,Chuck Geschke,用了两年时间力图让施乐把Interpress商业化。当建议被拒绝后,他们决定离开施乐,自立门户。
Adobe的诞生
John Warnock和Chuck Geschke把他们的公司取名为Adobe,位於加州的Los Altos,Warnock的家。房子后面有一条小溪,有时你能在关於Napa Valley的酒类向导图上看到,Napa Valley是出产最纯的加州酒的地方。
最初,Warnock和Geschke曾设想自行组建一台真正强大的印表机,但很快他们意识到为其他生产商提供可控制他们生产的印表机的工具更现实。
PostScript Level 1
初始时只称作PostScript。「Level 1」是为了与新近升级的Level 2区别而后加的。
PostScript是一个非常强大的语言,类似与Forth,另一种计算机语言。开始时需要一套相当强大的系统运做PostScript。事实上,在它推出的头几年中,PostScript印表机具有更强的处理能力,可以和Macintosh机连接使用。
PostScript 是相对设备独立的。也就是说PostScript文件可以在任何PostScript设备中运做。你可在雷射印表机上得到300dpi的打印效果,但同样影像在imagesetter中就可得到漂亮且清晰的2400dpi效果。对於用户来讲,他们不需要受限与一个生产商,可自由选择最适合要求的设备。
PostScript的腾飞
对Adobe来说,PostScript是一个相当大的赌注,如果没有Apple计算机的Steve Jobs,他们可能会无法向市场证实PostScript的价值和意义。
1985年,Macintosh计算机的销售量开始下降,而Apple的新机型迫切需要一个有威力的应用程式。Steve
Jobs对Adobe的技术很感兴趣,投资了Adobe 2.5百万让Warnock为Apple LaserWriter编写PostScript控制器。该印表机和HP LaserJet相似,但PostScript控制器可以使它输出「typesetter」品质。
与功能强大的雷射印表机连接的计算机并不会产生大的影响,但Apple和Adobe很幸运地在偶然机会遇到第三个合作伙伴Aldus,一个刚起步的小公司,它编写了能够充分发挥出Mac 和LaserWriter功能的应用程式,该软件就是PageMaker。
在桌上型电脑的问世后的一年内,LaserWriter,PostScript和PageMaker的结合挽救了Apple,Aldus和Adobe也由此变成了有钱的公司。Linotype是首家赏识PostScript价值的图像艺术供应商,它推出了自带专用PostScript RIP的imagesetter。其他的生产商也紧跟其后,很快地PostScript就成了印前业的国际性混合语。
1994:PostScript Level 2
大约在1994,Adobe发行了PostScript的下个修订版本Level 2。 Level 2是个具有重大意义的升级版,也是印前业者急切期盼的版本。
最重要的功能:
增进的速度和可靠性:在Level 2出现之前,Limitcheck和Vmerror PostScript错误非常麻烦,令人头痛。Adobe优化了PostScript程式码和增强程式码的记忆管理功能。该功能提高了功效,尤其对於旋转的扫描作业。
支持分立的内置RIP:Level 2 RIPs能够接受合成的PostScript文件,自行处理分色工作。它并不是一个必须遵循的功能,不同生产商的Level 2 RIPs的功能也有不同。
RIP中解压缩影像:Level 2 RIPs能够解压缩JPEG和CCITT
支持合成字体:该功能对於亚洲国家来讲相当重要,他们的字符比欧洲使用的大。Apple通过QuickDraw
GX来支持合成字体。现今你可能只在Apple的档案储藏柜里找到,还有其他的一些技术突破如OpenDoc
和the Newton。
字体和字型的缓存:有了Level 2,令人讨厌的字体缓存删除没有了。
字型的缓存问题几年后通过一些整版应用程式如PressWise 和Preps 解决了。
改进的驱动程式:Macintosh的LaserWriter 8和Adobe的Windows 3.1系统PostScript driver 2.X为基础,联合恰当的PPD-drivers。
改进的网屏算法:对於许多的RIP生产商,当Level
2推出已是过时的新闻。比如Agfa,已在这前一年就已销售它的对称网屏技术,为胶印业提供高品质的无网屏镜像效果。Adobe版本被称为准确网屏。
Level 2的市场应用较慢
先发表Level 2规范,然后才开始研究它的实际应用,这可以说是Adobe的一大错误。更为难堪的是,竞争者们推出Level 2的竞争产品的速度比Adobe想像的更快。
虽然PostScript Level 2具有明显的优点,但却花费了很长时间才真正开始应用新功能。例如在Level 2推出的6年后,XPress4.11还不能很好地支持分立内置RIP功能.
19XX:PostScript 3
由于一些不明确的原因,Adobe把最新升级版本取名为PostScript 3,而不是PostScript Level 3。和Level
2相比,3升级的意义并不大。这是可以理解的,因为当时许多应用程式还正在如何正确支持好Level 2的困惑中。
PostScript 3的主要优点:
每种颜色支持超过256个灰阶。Adobe在PostScript程式码中包含了12-bit的网屏。可支持每种颜色多达4096个。在过去,256灰阶的极限有时可看到条纹状,尤其是混合色。
支持PDF:PostScript 3 RIPs可支持PostScript Level 2和PDF文件。
改进的分立内置RIP支持功能:PostScript Level 2
RIP本身已经能够完成分色作业,但对於某些类型的影像如双网屏和多彩印影像就不能处理。PostScript 3含有名为Device N的色域。如果非CMKY色彩影像解译成该色域内,PostScript 3 RIP能正确地对影像进行分色。
网络打印:在如今网络发烧的时代,Adobe也不干落后,在PostScript增添了网络功能。有趣的是没有Adobe的OEM用户想尝试该功能。
PostScript有哪些特点?
PS的最大特点是避免了版面制作对使用设备的依赖信,只要符合PS这个标准的数据格式,不管是用MAC微机编辑也好,还是用SUN工作站进行编辑也好,都可以通过打印驱动程序获得共同的PS编码文件;
PS的另一特点是能够综合处理文字和图像,在一页印刷品中,PS将其中的所有信息都用一种计算机数据
来表现和描述,为图文合一的版面处理提供了可能;
有了这种页面数据格式,不同生产厂家的通用计算机之间和各种专用计算机系统(设计用,文字处理用,图像制版用等)之间,才可能进行数字化数据的交换,它是印前处理系统开放化的基础之一。
打印机语言PCL与PostScript的比较 - 慧都控件网
2008-11-27 23:05:42| 分类: wince 打印 | 标签: |字号大中小 订阅
打印语言就是一个命令集,它告诉打印机如何组织被打印的文档。这些命令不是被单独地传送,而是由打印机驱动程序把它们嵌在打印数据中传给打印机,并由打印机的打印控制器再分开解释。
打印机语言很多,但总的来说可以分成两类,一类是页描述语言(PDL,Page Descriptional Language),是惠普公司的一种页面描述语言,它要在Windows操作环境下,将Windows的位图格式转换成PCL格式的代码,这样打印机接收后由CPU解释并执行打印。
另一类是嵌入式语言(如ESCape Code Language)。页描述语言非常复杂,命令非常多,当然它的功能也很强大,可以用来输出复杂的页面和图像,比较适合打印诸如演讲的材料、技术手册、广告册子等。PDL经常被用于一些要求输出效果比较高的软件中,包括图像设计软件,高级文字处理软件,带有高级图表功能的表格软件以及一些桌面印刷软件。PDL虽然能描述复杂的文档,但正是由于它的复杂性,使得打印机处理起来也比较慢。目前,激光打印机或喷墨打印机普遍采用的PCL和 PostScript都属于PDL.
嵌入式语言的名字来自于它使用命令的方式,它的每一个命令都以一个特征码(如ESC)为前缀,以此表明该字符串是一个命令而不是一般的打印数据。嵌入式语言没有页描述语言那么复杂,它适用于描述相对比较简单的文档,比如信件,数据库输出或一些简单的图形。ECL不支持精密印刷,只能使用不同的字体和大小输出文本,而不能处理特殊效果,一般针式打印机采用ECL.
页描述语言和嵌入式语言的代表分别是Adobe公司的PostScript语言和HP公司的PCL语言,它们是已经成为业界标准的两种打印机语言,现在它们已分别推出了PostScript Level 3和PCL6.许多厂商都使用自己的打印机控制语言,如EPSON的ESC/page,佳能的CaPSYL,施乐的XES、JDL,IBM的IPDS,DEC的ANSI/Sixel等,它们都各具特点,
下面就主要介绍一下Postscript语言和PCL打印语言
PostScript语言
PostScript是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Printer Description )文件来实行各种打印机的不同特性。PPD文件主要提供以下与打印机有关的特定信息::默认/最高分辨率,是否支持半色调监控,用户设定的监控信息,页面大小定义,页面可打印区域,默认字体(通常为Courier),是否支持双面打印等等。每一种不同的PostScript
打印机都分别对应有专门的PPD文件。在Adobe公 司的网站http//:/上提供了各种主流的PPD文件。通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript格式。由于打印机只能接受位图格式,当打印机控制器将PostScript转换成位图格式时,由打印机中专门的光栅图像处理器(Raster
Image Processor)来完成这一转换过程。
由于使用PostScript打印机对打印控制器的要求都比较高,另外PostScript是Adobe公司的注册产品,打印机厂商在其产品中使用PostScript语言要支付Adobe公司一笔费用,因此使用PostScript的打印机的成本要比使用其他语言和控制方式的打印机要高。因此目前也出现了一些PostScript仿真,像HP公司的一些激光打印机中使用的PostScript仿真,可以和Adobe公司的PostScript完全兼容,也无需再支付Adobe公司相应的费用。
原文出自【比特网】,转载请保留原文链接:/484/
PCL语言
正是Adobe公司的对PostScript语言的收费方式,给HP公司的PCL( Printer Command Language,打印机控制语言)语言提供了发展空间,PCL语言是HP公司于70年代针对其打印机产品推出的一种打印机页面描述语言。HP公司的市场策略与Adobe完全不同,其他厂商可以在他们的打印机产品中自由模仿或使用PCL语言。正是PCL语言的开放性,降低了使用PCL语言的打印机产品的成本,从而使其在打印机产品中的普及程度远远高于PostScript语言。
PCL语言最初也是为点阵打印机设计的,PCL3是第一个得到广泛应用的版本,但它只支持一些简单的打印任务。PCL4虽然还只能应用在个人打印机中,但增加了对图形打印的支持,但由于解释工作比较简单,PCL4比后期的PCL5和PCL6对打印控制器的要求要低很多。
PCL5是HP公司为它的激光打印机LaserJetⅢ设计的,它提供了一些与PostScript语言相似的功能,开始支持矢量字库和矢量图形描述,实现了WYSIWYG(What You See Is What You Get, 所见即所得), PCL5中也使用了各种压缩技术来减小数据量,加快数据传输。 PCL5e 开始支持双向数据通讯,从而使打印机可以向计算机发送打印机的状态信息。PCL5c增加了对彩色打印的支持。
1996年HP公司发布了PCL6,它更加灵活,是一个目标朝向的控制语言,使处理多图形的文件的速度大大加快,实现了更好的WYSIWYG,可以更好地处理Web页面。
两种语言的比较
1. PostScript和PCL两者的工作流程都是首先在计算机的一端将打印内容解释成标准的页面描述文件,这种文件可以被所有采用这种语言的打印机所识别,传送到打印机的核心——控制器中,然后在打印机控制器中将页面描述文件解释成可以打印的图像。从工作流程的角度看,采用这两种语言的打印方式对打印机的“大脑”要求较高,需要打印机能够自己独立处理转换的任务,并且需要打印机本身有足够的内存。
2. PostScript和PCL都具备了标准化和与设备无关性的优势,对计算机系统资源占用也较少,两种语言的高版本还提高了对字库、图形和图像的解释能力,对于提供了高打印质量的产品,大都采用了此两类语言。但相对来说,由于对打印机核心部分——打印控制器性能的要求较高,一定程度会增加机器成本,尤其是PostScript对打印控制器的性能更高。
3. 经过对多款使用PCL语言和PostScript语言的黑白和彩色激光打印机进行测试。发现,使用PCL语言的打印机在处理文本或一些常见办公应用软件下的文档时具有非常明显的速度优势,在这些应用下,在打印质量方面与使用PostScript语言的打印机也没有差距。使用PostScript语言的打印机在常见办公应用下的打印速度要慢一些,但在处理PDF文件或在Photoshop等软件下打印大的图形图像文件时具有一定的速度优势,同时其在图形表现准确度、色彩表现准确度和一些字库表现准确度方面也比PCL语言有优势。 所以PCL语言比较适合一些普通的商务办公应用,而PostScript语言更加适合对图形和色彩准确度要求比较高的专业应用。这也是目前许多打印机产品同时提供PCL和PostScript两个版本的驱动的一个重要原因。
GDI语言
除了以上我们提到了两种打印语言,还有一种GDI打印语言,它的全称是Graphics Device Interface。这种打印语言是通过电脑的处理能力来进行页面的渲染,然后电脑以位图的形式在发送给打印机,由于此种打印机语言不需要打印机配备大容量的内存和昂贵的处理器,所以此种语言的打印机造价较低,不过由于通过位图形式来发送整个页面会占用大量的时间,所以在打印速度上面也有所降低,一般来说,每分钟输出10页以上的打印机不会采用此种打印机语言的
原文出自【比特网】,转载请保留原文链接:/484/11174484_
大多数打印机不但能打印字符,也能够打印图形,应用软件通过输出控制字符对打印机进行控制。这些控制字符就被称为打印机控制语言。为了将字符和图形文件输出到打印机上,就需要过滤器将打印文件转化为打印机识别的打印语言。
打印过滤器是打印程序的一个重要部分,使Unix的打印系统更为灵活,从而能适合各种不同的打印机。除了将文档转换为打印机识别的语言之外,还可以对要打印的文件做其他处理,例如某些行式打印机需要文档同时使用回车和换行,而 Unix的文本文件只使用换行,此时直接打印文档就会造成行列不齐,这些情况下就需要一个过滤器进行转换。
打印机控制语言可以分为两类,一种将操纵打印机进行绘图的命令及其他控制命令通过特殊字符(或特殊字符引导的命令)来表示,对普通字符文件不作处理,直接发送到打印机。此时普通英文字符文件可以直接发送到打印机上打印,但要打印包括图形在内的文件就是包括特殊控制字符的二进制文件,不能用文本方式进行查看。另一种为Postscript语言,它使用页面描述语言来描述要打印的内容,可以直接打印的文件就是一个符合一定语法规则的文本文件,因此对于一个Po stScript打印机来讲,一个普通文本文件只是一个不合乎语法的PostScript语言文件,不能被直接打印。
因此如果要在仅支持PostScript的打印机上打印普通文档,也必须使用识别PostScript的过滤器进行转换,首先将普通文本文件转换为PostScript语言,再发送给PostScript打印机进行打印。Fr eeBSD的Packages
Collection中专门有一个类别print,提供了很多打印相关的软件包,其中包括很多种将文本文件转换为PostScript文件的过滤器程序,如a2ps等。其中gb2ps能将GB编码的文本转换未内嵌中文的PostScript文件,从而能在PostScript打印机上将中文文件打印出来。
因此首先应该安装这些转换软件包,当安装了这些转换程序之后,最简单的使用方式是先使用他们将文档转换为Po stscript文件,再发送给打印命令lpr,这可以通过管道来实现。一些打印工具内部就包括了使用管道,自动将生成的Postscript数据发送给lpr命令的指令,下面的a2ps指令就直接将PostScript文件发送给l pr命令。
$ a2ps file
或者可以在printcap文件中设置if参数,以自动使用这些过滤器,此时要设置过滤程序从标准输入上读入数据,将PostScript数据从标准输出上输出。
:if=/usr/local/bin/a2ps -q -o -:
对于要使用gb2ps来打印中文文件的情况,由于gb2ps使用参数读入源文件、并输出PostScript 中文文件,不使用标准输入输出,因此不能直接使用gb2ps作过滤器程序,而需要自己使用临时文件保存中间结果,生成 PostSript文件之后再打印。此外,gb2ps输出的PostScript文件都包括一页gb2ps的版权信息,对于打印来讲没有必要每次都打印这个版权页,可以使用psutils中包括的psselect程序,从原有文件中去除第一页,再进行打印。
高级的过滤器程序应该能够识别各种不同格式的文档文件,并依据文档的格式,使用不同的过滤器功能来进行处理,最后生成符合打印机描述语言的打印文件。
PostScript与Ghostscript
PostScript使用命令来描述页面,虽然也是文本文件,但这里都是绘图指令,需要一个PostScript 语言解释器对文件中描述的指令进行解释操作,才能得到正确的结果。因此PostScript文件在普通打印机上只能打印出源文件,同样普通文档在PostScript打印机上也不能正确解释、打印出来。下面是一个PostScript 文件的开始部分:
%!PS-Adobe-3.0
%%Creator: gb2ps
%%CreationDate: Fri Oct 31 18:36:45 1998
%%DocumentNeededResources: font Symbol
%%+ font Courier
%%+ font Times-Roman
%%DocumentSuppliedResources: file images/
%%Pages: 32
%%PageOrder: Ascend
%%Orientation: Portrait
%%EndComments
%%BeginProlog
如果要查看PostScript的内容,则需要一个页面语言解释器。虽然存在不少商业PostScript解释器,但大部分并不见得比Ghostscript好,虽然GhostScript只是一个免费的PostScript 解释器。GhostScript能在X
Window下正确显示PostScript文件的内容,并能实现各种强大的 PostScript处理能力。Ghostscript是一个相当复杂的程序,如果仅仅是要查看Postscript 文件的内容,可以使用命令 “gs ” ,退出时在Ghostscript提示下输入 “quit ” 即可。
$ gs
Aladdin Ghostscript 5.50 (1998-9-16)
Copyright (C) 1998 Aladdin Enterprises, Menlo Park, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS> quit
另外,Ghostscript有一个前端程序Ghostview,能使用Ghostscript来浏览PostScript 文件,但使用了比较简单的图形操作方式。Ghostscirpt和Ghostview都可以通过Packages Collection 安装。
2023年12月17日发(作者:奚逸)
PostScript语言
PostScript是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Printer Description )文件来实行各种打印机的不同特性。PPD文件主要提供以下与打印机有关的特定信息::默认/最高分辨率,是否支持半色调监控,用户设定的监控信息,页面大小定义,页面可打印区域,默认字体(通常为Courier),是否支持双面打印等等。每一种不同的PostScript打印机都分别对应有专门的PPD文件。在Adobe公 司的网站(http//:)上提供了各种主流的PPD文件。通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript格式。由于打印机只能接受位图格式,当打印机控制器将PostScript转换成位图格式时,由打印机中专门的光栅图像处理器(Raster
Image Processor)来完成这一转换过程。
由于使用PostScript打印机对打印控制器的要求都比较高,另外PostScript是Adobe公司的注册产品,打印机厂商在其产品中使用PostScript语言要支付Adobe公司一笔费用,因此使用PostScript的打印机的成本要比使用其他语言和控制方式的打印机要高。因此目前也出现了一些PostScript仿真,像HP公司的一些激光打印机中使用的PostScript仿真,可以和Adobe公司的PostScript完全兼容,也无需再支付Adobe公司相应的费用。
PostScript是一种编程语言,最适用于列印图像和文字(无论是在纸,胶片或非物质的CRT都可)。用现今的行话讲,它是页面描述语言。它与1985年由Adobe推出,最早在AppleLaserWriter上出现(据作者所知)。
PostScript的主要用意是是为以相对设备独立的方式描述影像提供一种方便的语言。该相对设备独立是指不以某种特定设备特性作参照,来描述影像(比如印表机的解析度),这样同一种描述不需修改就可适用于任何一种PostScript印表机(比如,LaserWriter 或Linotron)。实际情况下,有些PostScript文件对于目标设备做假设定(比如它的解析度或纸匣的数量),但这并不实用,而且局限了可转移性。
对於语言本身,通常是解译的,如RPN计算器一样的存储方式。程序把运算的参数存储在一起,然后调用该操作。通常情况下,运算后将结果留在存储显示上。例如,我们将12乘以134。我们会使用以下PostScript程式码:12 134 mul前面的两个字「12」和「134」将12和134存储显示。「mul」激活相乘运算,将两个数值相乘,并将结果推倒存储显示上。结果数值将保留在那里供以后程序中其它运算时使用。
根据手册中Adobe使用的规定,作者用以下两个主题概括运算:参数-1 参数-2。此概念是指使用运算时要推出参数-1 参数-2等后方可激活运算。运算后将显示结果。许多运算返回后无结果(因副作用);返回后显示「-」。
PostScript的发展历程
PostScript至今以有大约15年历史了。它对于印制工业产生很深渊的影响,甚至到今天仍保留着当LaserWriter印表机问世时重要的地位。
以下是PostScript的发展历程的一个概况。其中有些资料源于「Accidental empires」,由Robert Cringely编写的关于个人计算机革新的书。
为了更好理会PostScript,我们必须先了解在它出现以前市场是怎样运做的。在那时候,需要排版设备的话要找Acme Typesetters,他们会提供一套Acme系统及Acme输出设备。该Acme系统和其他生产商的设备
不兼容。在多数情况下,与其他系统调换数据相当困难,几乎是不可能的。
如果拥有一台个人计算机,连接在一台只能打出低品质位图字符的点阵印表机上。对於图像的打印效果也只能被在那个时代购买印表机的傻瓜们接受。
PostScript的历史由Parc开始,它是施乐的研究院,许多我们现在不以为然的计算机技术都是从那里开发的:几个首要的例子,如雷射印表机,图像使用者界面和以太网。
John Warnock是工作於施乐的出色的工程师之一。他开发了名为「Interpress」的语言,用於操作施乐雷射印表机。他和他的上司,Chuck Geschke,用了两年时间力图让施乐把Interpress商业化。当建议被拒绝后,他们决定离开施乐,自立门户。
Adobe的诞生
John Warnock和Chuck Geschke把他们的公司取名为Adobe,位於加州的Los Altos,Warnock的家。房子后面有一条小溪,有时你能在关於Napa Valley的酒类向导图上看到,Napa Valley是出产最纯的加州酒的地方。
最初,Warnock和Geschke曾设想自行组建一台真正强大的印表机,但很快他们意识到为其他生产商提供可控制他们生产的印表机的工具更现实。
PostScript Level 1
初始时只称作PostScript。「Level 1」是为了与新近升级的Level 2区别而后加的。
PostScript是一个非常强大的语言,类似与Forth,另一种计算机语言。开始时需要一套相当强大的系统运做PostScript。事实上,在它推出的头几年中,PostScript印表机具有更强的处理能力,可以和Macintosh机连接使用。
PostScript 是相对设备独立的。也就是说PostScript文件可以在任何PostScript设备中运做。你可在雷射印表机上得到300dpi的打印效果,但同样影像在imagesetter中就可得到漂亮且清晰的2400dpi效果。对於用户来讲,他们不需要受限与一个生产商,可自由选择最适合要求的设备。
PostScript的腾飞
对Adobe来说,PostScript是一个相当大的赌注,如果没有Apple计算机的Steve Jobs,他们可能会无法向市场证实PostScript的价值和意义。
1985年,Macintosh计算机的销售量开始下降,而Apple的新机型迫切需要一个有威力的应用程式。Steve
Jobs对Adobe的技术很感兴趣,投资了Adobe 2.5百万让Warnock为Apple LaserWriter编写PostScript控制器。该印表机和HP LaserJet相似,但PostScript控制器可以使它输出「typesetter」品质。
与功能强大的雷射印表机连接的计算机并不会产生大的影响,但Apple和Adobe很幸运地在偶然机会遇到第三个合作伙伴Aldus,一个刚起步的小公司,它编写了能够充分发挥出Mac 和LaserWriter功能的应用程式,该软件就是PageMaker。
在桌上型电脑的问世后的一年内,LaserWriter,PostScript和PageMaker的结合挽救了Apple,Aldus和Adobe也由此变成了有钱的公司。Linotype是首家赏识PostScript价值的图像艺术供应商,它推出了自带专用PostScript RIP的imagesetter。其他的生产商也紧跟其后,很快地PostScript就成了印前业的国际性混合语。
1994:PostScript Level 2
大约在1994,Adobe发行了PostScript的下个修订版本Level 2。 Level 2是个具有重大意义的升级版,也是印前业者急切期盼的版本。
最重要的功能:
增进的速度和可靠性:在Level 2出现之前,Limitcheck和Vmerror PostScript错误非常麻烦,令人头痛。Adobe优化了PostScript程式码和增强程式码的记忆管理功能。该功能提高了功效,尤其对於旋转的扫描作业。
支持分立的内置RIP:Level 2 RIPs能够接受合成的PostScript文件,自行处理分色工作。它并不是一个必须遵循的功能,不同生产商的Level 2 RIPs的功能也有不同。
RIP中解压缩影像:Level 2 RIPs能够解压缩JPEG和CCITT
支持合成字体:该功能对於亚洲国家来讲相当重要,他们的字符比欧洲使用的大。Apple通过QuickDraw
GX来支持合成字体。现今你可能只在Apple的档案储藏柜里找到,还有其他的一些技术突破如OpenDoc
和the Newton。
字体和字型的缓存:有了Level 2,令人讨厌的字体缓存删除没有了。
字型的缓存问题几年后通过一些整版应用程式如PressWise 和Preps 解决了。
改进的驱动程式:Macintosh的LaserWriter 8和Adobe的Windows 3.1系统PostScript driver 2.X为基础,联合恰当的PPD-drivers。
改进的网屏算法:对於许多的RIP生产商,当Level
2推出已是过时的新闻。比如Agfa,已在这前一年就已销售它的对称网屏技术,为胶印业提供高品质的无网屏镜像效果。Adobe版本被称为准确网屏。
Level 2的市场应用较慢
先发表Level 2规范,然后才开始研究它的实际应用,这可以说是Adobe的一大错误。更为难堪的是,竞争者们推出Level 2的竞争产品的速度比Adobe想像的更快。
虽然PostScript Level 2具有明显的优点,但却花费了很长时间才真正开始应用新功能。例如在Level 2推出的6年后,XPress4.11还不能很好地支持分立内置RIP功能.
19XX:PostScript 3
由于一些不明确的原因,Adobe把最新升级版本取名为PostScript 3,而不是PostScript Level 3。和Level
2相比,3升级的意义并不大。这是可以理解的,因为当时许多应用程式还正在如何正确支持好Level 2的困惑中。
PostScript 3的主要优点:
每种颜色支持超过256个灰阶。Adobe在PostScript程式码中包含了12-bit的网屏。可支持每种颜色多达4096个。在过去,256灰阶的极限有时可看到条纹状,尤其是混合色。
支持PDF:PostScript 3 RIPs可支持PostScript Level 2和PDF文件。
改进的分立内置RIP支持功能:PostScript Level 2
RIP本身已经能够完成分色作业,但对於某些类型的影像如双网屏和多彩印影像就不能处理。PostScript 3含有名为Device N的色域。如果非CMKY色彩影像解译成该色域内,PostScript 3 RIP能正确地对影像进行分色。
网络打印:在如今网络发烧的时代,Adobe也不干落后,在PostScript增添了网络功能。有趣的是没有Adobe的OEM用户想尝试该功能。
PostScript有哪些特点?
PS的最大特点是避免了版面制作对使用设备的依赖信,只要符合PS这个标准的数据格式,不管是用MAC微机编辑也好,还是用SUN工作站进行编辑也好,都可以通过打印驱动程序获得共同的PS编码文件;
PS的另一特点是能够综合处理文字和图像,在一页印刷品中,PS将其中的所有信息都用一种计算机数据
来表现和描述,为图文合一的版面处理提供了可能;
有了这种页面数据格式,不同生产厂家的通用计算机之间和各种专用计算机系统(设计用,文字处理用,图像制版用等)之间,才可能进行数字化数据的交换,它是印前处理系统开放化的基础之一。
打印机语言PCL与PostScript的比较 - 慧都控件网
2008-11-27 23:05:42| 分类: wince 打印 | 标签: |字号大中小 订阅
打印语言就是一个命令集,它告诉打印机如何组织被打印的文档。这些命令不是被单独地传送,而是由打印机驱动程序把它们嵌在打印数据中传给打印机,并由打印机的打印控制器再分开解释。
打印机语言很多,但总的来说可以分成两类,一类是页描述语言(PDL,Page Descriptional Language),是惠普公司的一种页面描述语言,它要在Windows操作环境下,将Windows的位图格式转换成PCL格式的代码,这样打印机接收后由CPU解释并执行打印。
另一类是嵌入式语言(如ESCape Code Language)。页描述语言非常复杂,命令非常多,当然它的功能也很强大,可以用来输出复杂的页面和图像,比较适合打印诸如演讲的材料、技术手册、广告册子等。PDL经常被用于一些要求输出效果比较高的软件中,包括图像设计软件,高级文字处理软件,带有高级图表功能的表格软件以及一些桌面印刷软件。PDL虽然能描述复杂的文档,但正是由于它的复杂性,使得打印机处理起来也比较慢。目前,激光打印机或喷墨打印机普遍采用的PCL和 PostScript都属于PDL.
嵌入式语言的名字来自于它使用命令的方式,它的每一个命令都以一个特征码(如ESC)为前缀,以此表明该字符串是一个命令而不是一般的打印数据。嵌入式语言没有页描述语言那么复杂,它适用于描述相对比较简单的文档,比如信件,数据库输出或一些简单的图形。ECL不支持精密印刷,只能使用不同的字体和大小输出文本,而不能处理特殊效果,一般针式打印机采用ECL.
页描述语言和嵌入式语言的代表分别是Adobe公司的PostScript语言和HP公司的PCL语言,它们是已经成为业界标准的两种打印机语言,现在它们已分别推出了PostScript Level 3和PCL6.许多厂商都使用自己的打印机控制语言,如EPSON的ESC/page,佳能的CaPSYL,施乐的XES、JDL,IBM的IPDS,DEC的ANSI/Sixel等,它们都各具特点,
下面就主要介绍一下Postscript语言和PCL打印语言
PostScript语言
PostScript是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Printer Description )文件来实行各种打印机的不同特性。PPD文件主要提供以下与打印机有关的特定信息::默认/最高分辨率,是否支持半色调监控,用户设定的监控信息,页面大小定义,页面可打印区域,默认字体(通常为Courier),是否支持双面打印等等。每一种不同的PostScript
打印机都分别对应有专门的PPD文件。在Adobe公 司的网站http//:/上提供了各种主流的PPD文件。通过PS驱动程序,各种不同的应用软件将各自的数据转换成PostScript格式。由于打印机只能接受位图格式,当打印机控制器将PostScript转换成位图格式时,由打印机中专门的光栅图像处理器(Raster
Image Processor)来完成这一转换过程。
由于使用PostScript打印机对打印控制器的要求都比较高,另外PostScript是Adobe公司的注册产品,打印机厂商在其产品中使用PostScript语言要支付Adobe公司一笔费用,因此使用PostScript的打印机的成本要比使用其他语言和控制方式的打印机要高。因此目前也出现了一些PostScript仿真,像HP公司的一些激光打印机中使用的PostScript仿真,可以和Adobe公司的PostScript完全兼容,也无需再支付Adobe公司相应的费用。
原文出自【比特网】,转载请保留原文链接:/484/
PCL语言
正是Adobe公司的对PostScript语言的收费方式,给HP公司的PCL( Printer Command Language,打印机控制语言)语言提供了发展空间,PCL语言是HP公司于70年代针对其打印机产品推出的一种打印机页面描述语言。HP公司的市场策略与Adobe完全不同,其他厂商可以在他们的打印机产品中自由模仿或使用PCL语言。正是PCL语言的开放性,降低了使用PCL语言的打印机产品的成本,从而使其在打印机产品中的普及程度远远高于PostScript语言。
PCL语言最初也是为点阵打印机设计的,PCL3是第一个得到广泛应用的版本,但它只支持一些简单的打印任务。PCL4虽然还只能应用在个人打印机中,但增加了对图形打印的支持,但由于解释工作比较简单,PCL4比后期的PCL5和PCL6对打印控制器的要求要低很多。
PCL5是HP公司为它的激光打印机LaserJetⅢ设计的,它提供了一些与PostScript语言相似的功能,开始支持矢量字库和矢量图形描述,实现了WYSIWYG(What You See Is What You Get, 所见即所得), PCL5中也使用了各种压缩技术来减小数据量,加快数据传输。 PCL5e 开始支持双向数据通讯,从而使打印机可以向计算机发送打印机的状态信息。PCL5c增加了对彩色打印的支持。
1996年HP公司发布了PCL6,它更加灵活,是一个目标朝向的控制语言,使处理多图形的文件的速度大大加快,实现了更好的WYSIWYG,可以更好地处理Web页面。
两种语言的比较
1. PostScript和PCL两者的工作流程都是首先在计算机的一端将打印内容解释成标准的页面描述文件,这种文件可以被所有采用这种语言的打印机所识别,传送到打印机的核心——控制器中,然后在打印机控制器中将页面描述文件解释成可以打印的图像。从工作流程的角度看,采用这两种语言的打印方式对打印机的“大脑”要求较高,需要打印机能够自己独立处理转换的任务,并且需要打印机本身有足够的内存。
2. PostScript和PCL都具备了标准化和与设备无关性的优势,对计算机系统资源占用也较少,两种语言的高版本还提高了对字库、图形和图像的解释能力,对于提供了高打印质量的产品,大都采用了此两类语言。但相对来说,由于对打印机核心部分——打印控制器性能的要求较高,一定程度会增加机器成本,尤其是PostScript对打印控制器的性能更高。
3. 经过对多款使用PCL语言和PostScript语言的黑白和彩色激光打印机进行测试。发现,使用PCL语言的打印机在处理文本或一些常见办公应用软件下的文档时具有非常明显的速度优势,在这些应用下,在打印质量方面与使用PostScript语言的打印机也没有差距。使用PostScript语言的打印机在常见办公应用下的打印速度要慢一些,但在处理PDF文件或在Photoshop等软件下打印大的图形图像文件时具有一定的速度优势,同时其在图形表现准确度、色彩表现准确度和一些字库表现准确度方面也比PCL语言有优势。 所以PCL语言比较适合一些普通的商务办公应用,而PostScript语言更加适合对图形和色彩准确度要求比较高的专业应用。这也是目前许多打印机产品同时提供PCL和PostScript两个版本的驱动的一个重要原因。
GDI语言
除了以上我们提到了两种打印语言,还有一种GDI打印语言,它的全称是Graphics Device Interface。这种打印语言是通过电脑的处理能力来进行页面的渲染,然后电脑以位图的形式在发送给打印机,由于此种打印机语言不需要打印机配备大容量的内存和昂贵的处理器,所以此种语言的打印机造价较低,不过由于通过位图形式来发送整个页面会占用大量的时间,所以在打印速度上面也有所降低,一般来说,每分钟输出10页以上的打印机不会采用此种打印机语言的
原文出自【比特网】,转载请保留原文链接:/484/11174484_
大多数打印机不但能打印字符,也能够打印图形,应用软件通过输出控制字符对打印机进行控制。这些控制字符就被称为打印机控制语言。为了将字符和图形文件输出到打印机上,就需要过滤器将打印文件转化为打印机识别的打印语言。
打印过滤器是打印程序的一个重要部分,使Unix的打印系统更为灵活,从而能适合各种不同的打印机。除了将文档转换为打印机识别的语言之外,还可以对要打印的文件做其他处理,例如某些行式打印机需要文档同时使用回车和换行,而 Unix的文本文件只使用换行,此时直接打印文档就会造成行列不齐,这些情况下就需要一个过滤器进行转换。
打印机控制语言可以分为两类,一种将操纵打印机进行绘图的命令及其他控制命令通过特殊字符(或特殊字符引导的命令)来表示,对普通字符文件不作处理,直接发送到打印机。此时普通英文字符文件可以直接发送到打印机上打印,但要打印包括图形在内的文件就是包括特殊控制字符的二进制文件,不能用文本方式进行查看。另一种为Postscript语言,它使用页面描述语言来描述要打印的内容,可以直接打印的文件就是一个符合一定语法规则的文本文件,因此对于一个Po stScript打印机来讲,一个普通文本文件只是一个不合乎语法的PostScript语言文件,不能被直接打印。
因此如果要在仅支持PostScript的打印机上打印普通文档,也必须使用识别PostScript的过滤器进行转换,首先将普通文本文件转换为PostScript语言,再发送给PostScript打印机进行打印。Fr eeBSD的Packages
Collection中专门有一个类别print,提供了很多打印相关的软件包,其中包括很多种将文本文件转换为PostScript文件的过滤器程序,如a2ps等。其中gb2ps能将GB编码的文本转换未内嵌中文的PostScript文件,从而能在PostScript打印机上将中文文件打印出来。
因此首先应该安装这些转换软件包,当安装了这些转换程序之后,最简单的使用方式是先使用他们将文档转换为Po stscript文件,再发送给打印命令lpr,这可以通过管道来实现。一些打印工具内部就包括了使用管道,自动将生成的Postscript数据发送给lpr命令的指令,下面的a2ps指令就直接将PostScript文件发送给l pr命令。
$ a2ps file
或者可以在printcap文件中设置if参数,以自动使用这些过滤器,此时要设置过滤程序从标准输入上读入数据,将PostScript数据从标准输出上输出。
:if=/usr/local/bin/a2ps -q -o -:
对于要使用gb2ps来打印中文文件的情况,由于gb2ps使用参数读入源文件、并输出PostScript 中文文件,不使用标准输入输出,因此不能直接使用gb2ps作过滤器程序,而需要自己使用临时文件保存中间结果,生成 PostSript文件之后再打印。此外,gb2ps输出的PostScript文件都包括一页gb2ps的版权信息,对于打印来讲没有必要每次都打印这个版权页,可以使用psutils中包括的psselect程序,从原有文件中去除第一页,再进行打印。
高级的过滤器程序应该能够识别各种不同格式的文档文件,并依据文档的格式,使用不同的过滤器功能来进行处理,最后生成符合打印机描述语言的打印文件。
PostScript与Ghostscript
PostScript使用命令来描述页面,虽然也是文本文件,但这里都是绘图指令,需要一个PostScript 语言解释器对文件中描述的指令进行解释操作,才能得到正确的结果。因此PostScript文件在普通打印机上只能打印出源文件,同样普通文档在PostScript打印机上也不能正确解释、打印出来。下面是一个PostScript 文件的开始部分:
%!PS-Adobe-3.0
%%Creator: gb2ps
%%CreationDate: Fri Oct 31 18:36:45 1998
%%DocumentNeededResources: font Symbol
%%+ font Courier
%%+ font Times-Roman
%%DocumentSuppliedResources: file images/
%%Pages: 32
%%PageOrder: Ascend
%%Orientation: Portrait
%%EndComments
%%BeginProlog
如果要查看PostScript的内容,则需要一个页面语言解释器。虽然存在不少商业PostScript解释器,但大部分并不见得比Ghostscript好,虽然GhostScript只是一个免费的PostScript 解释器。GhostScript能在X
Window下正确显示PostScript文件的内容,并能实现各种强大的 PostScript处理能力。Ghostscript是一个相当复杂的程序,如果仅仅是要查看Postscript 文件的内容,可以使用命令 “gs ” ,退出时在Ghostscript提示下输入 “quit ” 即可。
$ gs
Aladdin Ghostscript 5.50 (1998-9-16)
Copyright (C) 1998 Aladdin Enterprises, Menlo Park, CA. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
GS> quit
另外,Ghostscript有一个前端程序Ghostview,能使用Ghostscript来浏览PostScript 文件,但使用了比较简单的图形操作方式。Ghostscirpt和Ghostview都可以通过Packages Collection 安装。