• 跟我一起学PCL打印语言(一)


    引言
    本人从事打印机开发和打印驱动开发的相关工作,深感资料特别是中文资料的匮乏和不成系统,对新入门的从事该行业的人来说,门槛很高。在这里一方面是将开发中遇到的相关知识点整理出来,另一方面也能够促进自己的学习。打印相关的知识很多,这里分系列的写出来。主要分以下几个部分:
    一、 概述。这一章节简单描述PCL语言的来源、演变,以及它的功能和目的。
    二、 打印基础知识。这一章节介绍打印开发所需要的基础知识,专业术语等。
    三、 PCL语言。这一章节介绍PCL语言的组成、命令格式等。
    四、 PJL语言。这一章节介绍PJL语言的组成。
    五、 PC打印驱动。这一章节介绍PC端打印驱动的流程、模型等。
    六、 设备端打印驱动。这一章节简单介绍如何进行设备端打印驱动的开发。主要是USB gadget的驱动开发。
    七、 打印文件解析。这一章节将具体解析打印驱动生成的发到打印机的文件。
    八、 Ghostpdl介绍。这一章节主要介绍开源ghostpdl,以及它的功能、作用等。
    九、 Ghostpdl编译和使用。这一章节讲述如何编译ghostpdl和使用ghostpdl软件,以及可以通过该软件进行哪些开发。
    十、 CUPS。这一章节主要介绍CUPS的功能、作用及使用等。


    一、 概述
    PCL ,是Printer Command Language的简写,由HP公司创造的打印控制语言。目前已经成为业界标准了。它的目的是为各种打印设备提供一系列的经济且高效的方法,用来控制打印机的特性。
    PCL命令嵌在打印任务数据流中,这样能减少数据传输和命令解析的开支。PCL格式和字体设计成能够很快转换成高质量、栅格化的打印图像。
    PCL打印语言从PCL1 演变到PCL6。目前使用最广泛的是PCL5和PCL6,,包括PCL5e、PCL5c和PCL XL。PCL XL即为PCL 6增强版。关于PCL的详细文档可参见HP公司的《PCL 5e Technical Reference Manual》、《PCL XL Feature Reference Protocol Class 2.0》等等。这些资料都是十分权威和详实的。
    PCL 6 类打印语言包含三种关键组成。一种是PCL 6 增强版,它是为视窗系统的图形界面优化的,如MicroSoft Windows,OS/2等;第二种是PCL 6 标准版,它提供向后兼容的能力,等价于 PCL 5e 或者 PCL 5c;第三种是字体综合。
    PCL 6 增强版也称PCL XL,它以最少的命令和数据来描述打印页面,提高了在视窗系统下的打印效率。
    PJL ,是Printer Job Language的简写,它提供了不同类别的打印控制。与PCL不同的是,PJL提供任务级别的控制,而PCL和HP-GL/2只控制打印页面上的打印点的位置。
    二、 打印基础知识

    • 测量单位

    在打印业界,有好几种测量单位,分别是英寸、厘米、点。英寸和厘米不用解释,1英寸=2.54厘米。点,即是物理上的意义,表示一个打印点。任何打印的图案都是有若干个不同排列组合的点构成。这个点的密度即称为DPI。DPI表示横向或纵向上一英寸上有多少个点。我们说的600DPI,则表示在一英寸上有600个点,如下图1所示。

    图1

     
     PCL坐标系

    打印时需要进行定位,这就牵涉到坐标系。PCL的坐标系以左上角为起点,且分为物理页面和逻辑页面。逻辑页面小于物理页面。物理页面并不全是打印区域。如下图2所示。

    图2

     
     打印区域
    打印区域是表示物理页面上的某一部分。物理页面、逻辑页面、默认图像框架和可打印区域定义见下图3。

     
    图3 

    图4

     

    上表的单位是像素,即表示逻辑上的一点。如A4页面尺寸,在600DPI下,宽度为4676pixel,最大长度为7014pixel。一般,我们开发时就用像素这个单位。不同类型的纸张对应不同的尺寸。

  • 相关阅读:
    Android 内存溢出解决方案(OOM) 整理总结
    浅思OC的语言特性
    netsh winsock reset 11003
    Utility
    百度地图手机四角坐标
    Mysql 导入 MSSQL
    Python import 指定目录中的模块
    POJ:3061-Subsequence(尺取法模板详解)
    POJ:3616-Milking Time
    POJ:2385-Apple Catching(dp经典题)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3225756.html
Copyright © 2020-2023  润新知