學習印表機,瞭解列印命令

來源:互聯網
上載者:User
列印指令,又稱列印控制命令。電腦通過列印控制語言,以軟體命令的方法來控制印表機操作,解釋執行列印資料,獲得列印結果的。對於印表機所實現的複雜功能而言,列印控制語言是基礎。它直接關係到列印輸入品質的優劣。因為增強我們對Printer Control Language的瞭解,就可以更好地選擇和使用印表機。

  目前主流的Printer Control Language只要有三種:

  Epson公司的Esc命令集
  HP公司的PCL命令集
  Adobe公司的PostScript(簡稱PS)命令集

  ESC命令集是針式印表機和票據列印領域的事實上的工業標準;PCL命令集是低擋雷射印表機、噴墨機印機領域的工業標準;PS命令集則是高檔排版領域占壟斷地位的分頁描述語言。

  ESC命令集和PCL命令集是命令解釋型的語言,與進階程式設計語言中的BASIC相似,對每一條命令印表機立即給予響應執行。控制方式簡單、方便、快速,便不能描述複雜的頁面。

  HPGL向量圖形命令集(用於PCL5)和PS命令集都是編譯型的語言。與進階程式設計語言中的C相似,對數條命令組成的完整程式進行編譯、解釋、最後驅動列印。HPGL命令集與PS相比之下又具有一些命令解釋型語文的特點,只有PS語文才是一種真正的編譯型分頁描述語言。但兩者都能夠以列印頁面為單位,描述列印資訊,即都可實現複雜圖形和圖象的列印輸出。

  使用ESC、PCL、PostScript的軟體比例佔全部軟體的75%以上。由此可見,這三種列印控制命令語言對於列印應用程式設計,起到了舉足輕重的作用。

  對於上述Printer Control Language有了一個初步的認識以後,我們來對各種語言作一個較全面的介紹。
  一、Epson公司的Esc命令集

  日本的EPSoN公司是生產電腦外部裝置的者牌公司,在目前的印表機市場,尤其是針式印表機市場佔有很大一部分份額。它所推行的ESC列印控制命令(EPSON StandardCode for Printer)已經成為針式Printer Control Language事實上的工業標準,ESC/POS列印命令集是ESC列印控制命令的簡化版本,現在大多數票據列印都採用ESC/POS指令集。絕大多數印表機都有EPSON ESC的軟體命令模擬功能,而且其它列印控制命令的格式和功能也都與ESC代碼集類似。

  由於早期的作業系統DOS與現在windows的結構不同,在印表機內部軟體和應用軟體之間沒有由硬體廠商提供的列印驅動程式,必須由應用軟體直接通過硬體介面來控制印表機,所以從ESC指令出現開始,它就是公開的,否則沒有應用軟體可以使用它,而除了標準的ESC指令外,每種型號的印表機其指令又不太一樣,所以在DOS軟體中,你可以看到每個應用軟體都只是支援為數不多的幾種常用印表機。
  
  Esc指令在形式上分為兩種格式,一種是文本方式控制碼,一種是Escape逸出序列碼。文本方式控制碼由一位元組字元碼錶示,實現的是與印表機硬體操作有關的指令,Escape序列碼由逸出字元和參數字元或列印資料群組成。

  二、HP公司的PCL語言

  PCL語言是HP公司於70年代針對其雷射印表機產品推出的一種印表機分頁描述語言。PCL語言與ESC指令一樣是開放的。

  PCL語言最初也是為點陣印表機設計的,PCL3是第一個得到廣泛應用的版本,但它只支援一些簡單的列印任務。PCL4雖然還只能應用在個人印表機中,但增加了對圖形列印的支援,但由於解釋工作比較簡單,PCL4比後期的PCL5和PCL6對列印控制器的要求要低很多。

  到PCL4時,功能已大大增強,主要是支援可任意改變的字模(Scalabe Fort)和支援HP的繪圖語言即HP GI—/2語言,後者使雷射列印裝置可作為繪圖裝置使用。

  PCL5(PRINTER CONTROL LANGUAGE VERSION 5)是HP公司推出的一種列印控制語言,是一種解釋性的命令語言,這與BASIC語言類似。印表機對每條接收到的命令,馬上解釋執行,而不用等待所有命令全部接收。與此相對的是編譯型的語言(如C)。ADOBE公司的PostScript列印頁描述語言等),強調語句的模組化和完整性,只有全部命令都接收到後進行編譯串連,才能完成相應的功能。

  1996年HP公司發布了PCL6,它更加靈活,是一個目標朝向的控制語言,使處理多圖形的檔案的速度大大加快,實現了更好的WYSIWYG,因此可以更好地處理Web頁面。

  三、Adobe公司的PostScript(簡稱PS)命令集

  PostScript是Adobe公司的產品,和Epson和HP不一樣,ADOBE公司不是列印裝置製造商,而是一個工具軟體開發商,所以PostScript語言從它一誕生就有著與ESC和PLC完全不同的特性,更符合軟體的設計思想,它是一種與裝置無關的印表機語言,即在定義映像時可以根本不考慮輸出裝置的特性(如印表機的解析度、紙張大小等),而且它對文本和圖形實行同樣的處理過程,這就給處理字型帶來了極大的靈活性。

  由於PostScript的裝置無關特性,在輸出到特定輸出裝置,譬如對解析度、紙張大小、進紙盒進行選擇時,PostScript通過印表機描述(PostScript Printer Description )檔案來實行各種印表機的不同特性。PPD檔案主要提供以下與印表機有關的特定資訊: 預設/最高解析度,是否支援半色調監控,使用者設定的監控資訊,頁面大小定義,頁面可列印範圍,預設字型(通常為Courier),是否支援雙面列印等等。

  通過PS驅動程式,各種不同的應用軟體將各自的資料轉換成PostScript格式。從列印引擎的工作原理可知,印表機只能接受位元影像格式,當印表機控制器將PostScript轉換成位元影像格式時,由於PostScript十分複雜,一般的列印控制器難以勝任,通常由印表機中專門的光柵影像處理器(Raster Image Processor)來完成這一轉換過程。
  由於使用PostScript印表機對列印控制器的要求都比較高,另外PostScript是Adobe公司的註冊產品,印表機廠商在其產品中使用PostScript語言要支付Adobe公司一筆費用,就像PC廠商支付給Microsoft公司的作業系統費用一樣,因此使用PostScript的印表機的成本要比使用其他語言和控制方式的印表機要高。因此目前也出現了一些PostScript模擬,像HP公司的一些雷射印表機中使用的PostScript模擬,可以和Adobe公司的PostScript完全相容,也無需再支付Adobe公司相應的費用。

  PostScript語言是一種廣泛應用於光柵裝置的頁描述語言。它能在裝置無關的前提下,提供極強的本文與圖形描述能力,例如可任意平移、旋轉、縮放本文字元和以字元及任意封閉地區作為裁剪區的邊界。由於PostScript的這些特點,加上效能優越、價格低廉的雷射印表機的出現,特別是Apple Laser writer雷射印表機在商業上的成功,使得PostScript已經成為高品質專業排版印刷領域”事實上”的工業標準。

  PostScript語言的真正興起是Adobe公司在1985年發表的PostScriptlevell。其豐富的圖形功能,高品質的T叩e1字模以及對頁面描述的裝置無關性,使PostScr5pt語言被普遍接受並成為事實上的工業標準。各種流行的西文排版和圖形軟體,如Pagemaker,Veatura,Quake eXpess,CorelDraw等等,都支援PostScript。

  在1990年底,Adobe公司推出的PostScriptlevel2,無論是在描述能力還是在描述效率上都更上一層樓,進一步鞏固了PostScript語言作為標準分頁描述語言的地位。而且,最近國際標準組織ISo的JTCl/SC24委員會已把PostScript語言推薦為開發圖形本文標準的一個主要參考語言。

  postscript語言之所以得到廣泛的應用,是與它所具有的極強的處理圖形本文的功翰分不開的。作為一種頁描述語言(即PDL),Post3cript具有如下特點:

  1)能夠精確地描述各種複雜的圖形、圖象以及正義,可對它們進行平移、旋轉、放縮答操作;而且它把本文作為圖形來處理。

  2)採用靈活的摸板/塗料式(Stencil/Paint)的圖象映象模型。不僅適合於Ntml及向量筆劃描述圖形,而且適合於採用三次曲線輪廓來實現圖形描述。這種模型的裁剪地區不僅可用矩形框,而且可用封閉的任意地區。
  
  3)支援裝置獨立性。
  
  4)它也是一種程式設計語言,具有尾碼式的表達方法。由前言和文稿兩部分組成程式結構,有13種簡單及綜合物件類型,其操作符的語義是動態。

  PostScr5pt語言是一種分頁描述語言,列印的頁面資料資訊通過印表機內建的PostScript語言解譯器完成,當解譯器執行描述字16、圖形和圖象的命令時,它把進階的PostScript語言描述轉換為特定輸出裝置(如印表機)上的低級光柵資料格式。Postscript語言有三分之一的操作符面向圖形處理,其餘的三分之二可用作一般的電腦程式設計語言。

  一般說來,PCL語言比較適合一些普通的商務辦公應用,而PostScript語言更加適合對圖形和色彩準確度要求比較高的專業應用。

EPSON ESC/POS指令

EPSON ESC/POS 控制命令
英文模式下的命令
代碼                     功能                                代碼               功能
LF                       換行                                  ESC m           局部切割
CR                       斷行符號                                ESC o           印章
ESC SP             設定右邊界                     ESC q           釋放紙
ESC !                 設定列印方式                 ESC r           選擇列印顏色
ESC *                設定位映射方式             ESC z           設定或取消兩頁並行列印
ESC @                 初始化印表機             ESC BEL         蜂鳴器ON/OFF
ESC R                 選擇國際字元子集        ESC c5          禁止/使能面板開關
ESC d                列印及N行進紙             ESC c6          禁止/使能ON-LINE開關
ESC t                 選擇字元碼錶                 ESC p           產生指定脈衝
ESC l                 選擇或取消倒過來的字元    ESC V           發送印表機狀態
ESC c0             選擇列印頁                        ESC ~           LED ON/OFF
FF                     列印送出單頁                     HT              水平TAB
RS                     流水TAB                             ESC %         選擇或取消使用者自訂字元集
ESC 2             選擇行間距為1/6英寸         ESC &         定義使用者自訂字元集
ESC 3             設定行進為最小間距         ESC D         設定TAB位置
ESC <             返回行首                             ESC i         全切割
ESC C             設定單頁長度                     ESC f         設單頁等待時間
ESC F             選擇或取消單頁退紙區     ESC e         列印病退回N行
ESC J             以最小間距進行列印和進紙ESC c4         選擇列印紙及檢測器(終止列印)
ESC K             以最小間距進行列印和退紙ESC c3         選擇紙結束訊號輸出
ESC U             選擇或取消單向列印     ESC c1         選擇行間距
中文模式下的命令
代碼 功能 代碼 功能
FS & 選擇中文字元模式 FS – n 設定中文字元底線模式開關
FS . 取消中文模式 FS ! n 選擇中文字型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.