基本介紹
- 中文名:PDL語言
- 外文名:Procedure Design Language
- 類型:設計性語言
- 提出時間:1975年
簡介,分類,PCL語言,PS語言,PCL與PS的比較,模組結構,舉例理解,主要特徵,程式構成,優缺點,優點,缺點,
簡介
隨著電子排版技術的不斷發展和用戶使用的要求提高,各種印刷品的版面越來越複雜,如版面上出現大最的文字排列及字型變化、文字的各種修飾和變形;版面上的圖形、圖像的位里、形狀及相互關係越來越複雜等等,特別是彩色版面上五彩繽紛的顏色變化,形成了非常複雜的版面結構。為此,人們專門設計出一種計算機描述語言,用來描述、記錄版面上的內容和結構,這就是頁面描述語言。
過去頁面描述語言沒有統一的標準,開發廠商“各講各的方言”,互相之間無法交流,以致於檔案無法相互兼容和傳遞。上世紀80年代末,國際上頁面描述語言已經走向標準化,由Adobe公司開發的Post Script(簡稱PS)頁面描述語言被人們普遍接受,並成為目前的工業標準,電子出版廠商自動向標準靠攏,走向開放式結構,相互間可以互相傳遞、相互兼容。
PDL語言(PDL language)一種設計性語言。它是由查理斯·格什克(Charles Geschke)和約翰·沃諾克(John Warnock)在1975年提出的。PDL是(Program Design Language)(設計性程式語言)的縮寫,用於書寫軟體設計規約。它是軟體設計中廣泛使用的語言之一。
用PDL書寫的文檔是不可執行的,主要供開發人員使用。
PDL描述的總體結構和一般的程式很相似,包括數據說明部分和過程部分,也可以帶有注釋等成分。但它是一種非形式的語言,對於控制結構的描述是確定的,而控制結構內部的描述語法不確定,可以根據不同的套用領域和不同的設計層次靈活選用描述方式,也可以用自然語言。
分類
PCL 和 PS 是兩種標準化的頁面描述語言(PDL)。PDL的特點是多用途和表達精細,用來輸出複雜的頁面和圖像。其工作流程都是首先在計算機端將列印內容解釋成標準的頁面描述檔案然後傳送到印表機控制器中,在列印控制器中再將頁面描述檔案解釋成可以列印的光柵圖像。
從其工作流程看,此兩種方式中都對印表機中的列印控制器有很高的要求,同時要求印表機內部有足夠的記憶體。
PCL語言
PCL語言(印表機控制語言)是 HP 公司於70年代針對其雷射印表機產品推出的一種印表機頁面描述語言。PCL指令內嵌於列印數據流,把應用程式輸出快速轉譯成高質量的、特定設備的光柵化圖像。
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語言的印表機的速度優勢:處理常見辦公套用軟體下的文檔。
所以PCL語言比較適合一些普通的商務辦公套用,而PS語言更加適合對圖形和色彩準確度要求比較高的專業套用。這也是目前許多印表機產品同時提供PCL和PS兩個版本的驅動的一個重要原因。
模組結構
PDL語言書寫的模組結構如下:
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應該具有下述特點:
- 關鍵字的固定語法,它提供了結構化控制結構、數據說明和模組化的特點。 為了使結構清晰和可讀性好,通常在所有可能嵌套使用的控制結構的頭和尾都有關鍵字。
- 自然語言的自由語法,它描述處理特點。
- 模組定義和調用的技術,應該提供各種接口描述模式。
- 易理解。它雖然不如圖形化的設計描述直觀,但和可執行的程式具有類似的結構,因此便於實現藉助計算機自動轉 換為可執行的程式代碼,已經研製出針對特定語言的自動工具。
PDL寫出的程式:
① 用PDL寫出的程式具有正文格式。在計算機上可做正文處理.
② PDL程式中會有一些能夠標明程式結構的關鍵字。
③ PDL語言僅有少量的簡單語法規則,大量使用人們習慣的自然語言。
④ 使用PDL語言常常按逐步細化的方式寫出程式。
⑤ PDL程式的注釋行對語句進行解釋,起到提高可讀性的作用。
程式構成
(1)數據說明:PDL程式中指明數據名的類型及作用域。其形式為:
end <子程式名> <PDL語句指各種PDL構造>
(3)分程式結構
begin <分程式名> <PDL語句>
end <分程式名>
(4)順序結構
選擇型
if <條件> then
<PDL語句>
else
<PDL語句>
end if
if <條件> then
<PDL語句>
else if <條件> then
<PDL語句>
else
<PDL語句>
end if
WHILE循環
loop while <條件>
<PDL語句>
end loop
UNTIL型循環
loop until <條件>
<PDL語句>
end loop
CASE型
Case <選擇句子> of
<標號>{, <標號}: ><PDL語言>
[default]: [<PDL語句>]
end case
(5)輸入/輸出結構 print read display
優缺點
優點
·可以作為注釋直接插在源程式中間。這樣做能促使維護人員在修改程式代碼的同時也相應地修改PDL注釋,因此有助於保持文檔和程式的一致性,提高了文檔的質量。
·可以使用普通的正文編輯程式或文字處理系統,很方便地完成PDL的書寫和編輯工作。
·已經有自動處理程式存在,而且可以自動由PDL生成程式代碼。
缺點
是不如圖形工具形象直觀,描述複雜的條件組合與動作間的對應關係時,不如判定表清晰簡單。