ความเป็นมามาตรฐานคำสั่งการควบคุมเครื่องพิมพ์ที่เรียกว่า PCL (Printer Command Language) และแสดงให้เห็นลักษณะและความสามารถที่สำคัญของภาษาสั่งงานพีซีแอลยุคของการใช้เครื่องพิมพ์
การใช้เครื่องพิมพ์มีวิวัฒนากรพร้อมกับการพัฒนาคอมพิวเตอร์ เพราะเครื่องพิมพ์ก็เป็นอุปกรณ์ที่สำคัญสำหรับการทำรายงานผลที่ได้จากคอมพิวเตอร์ การใช้งานเครื่องพิมพ์มีการพัฒนามาหลายยุคสมัย และมีพัฒนาการดีขึ้นเรื่อย ๆ เราอาจจัดแบ่งเครื่องพิมพ์ออกเป็นระดับตามการใช้งานและการพัฒนาได้ดังนี้ระดับแรก การพิมพ์ที่เรียกว่า Print and Space ลักษณะการพิมพ์เหมือนเครื่องพิมพ์ดีด กล่าวคือ ถ้าต้องการเลื่อนไปพิมพ์กลางหน้ากระดาษก็ต้องเคาะ Space ไปเรื่อย ๆ จนถึงตำแหน่งที่ต้องการระดับที่สอง เป็นงานพิมพ์ที่ใช้รหัสตัวควบคุมมาตรฐาน ทำให้ลดจำนวนส่งตัวอักษร space ลง เช่น การใช้ CR, LF การแทป การย่อหน้าโดยกำหนดเป็นตัวอักษรในตารางรัหสแอสกี และสามารถใช้ในการสื่อสารระหว่างเครื่องคอมพิวเตอร์กับเครื่องพิมพ์ระดับที่สาม เป็นงานพิมพ์เวิร์ดโปรเซสเซอร์ ยุคนี้เป็นยุคของเครื่องพิมพ์ดอตแมตริกซ์ ซึ่งรับรุ้คำสั่ง ESC มีการกำหนดรูปแบบการพิมพ์ การย่อหน้า การใช้ตัวอักษรใหญ่เล็ก ขีดเส้นใต้ ตัวเอน การพิมพ์ลักษณ์พิเศษอื่น ๆ เครื่องพิมพ์ในยุคนี้เป็นที่รู้จักกันดีในหมู่นักไมโครคอมพิวเตอร์ระดับที่สี่ เป็นการใช้ภาษาสั่งการพิมพ์ ลักษณะนี้ได้แก่ โพสต์สคริปต์,พีซีแอล เป็นต้น ภาษาสั่งงานพิมพ์นี้เป็นการประยุกต์ใช้งานพิมพ์ในลักษณะพิมพ์เป็นหน้าแทนที่จะพิมพ์แบบลำดับทีละบรรทัด เครื่องพิมพ์ที่พิมพ์เป็นหน้า ได้แก่ เครื่องพิมพ์เลเซอร์ เป็นต้น งานพิมพ์จึงทำได้ดี สามารถจัดรูปภาพและเอกสารร่วมกันได้ งานประยุกต์ก็จะกว้างขวางขี้นไปอีกมาก เช่น งานไทป์เซตติ้ง งานออกแบบกราฟิก งานเดสค์ท้อปพับลิชชิ่ง เป็นต้นทำไมต้องพีซีแอล (PCL)
บริษัทฮิวเล็ตต์-แพคการ์ด ซึ่งเป็นบริษัทที่มีชื่อเสียงในการพัฒนาเครื่องพิมพ์เลเซอร์และมีผู้นิยมใช้เครื่องพิมพ์ของฮิวเล็ตต์-แพคการ์ดอยู่มาก ได้พัฒนาภาษาสั่งงานเครื่องพิมพ์ขึ้นมาภาษาหนึ่งเรียกว่า พีซีแอล (PCL-Printer Command Language) พีซีแอลได้รับการพัฒนาขึ้นมาด้วยจุดมุ่งหมายดังต่อไปนี้- ให้เครื่องพิมพ์ทุกเครื่องที่มีโครงสร้างกลไกฮาร์ดแวร์ต่างกันจะทำงานกับซอฟต์แวร์ได้เหมือนกัน- ครื่องพิมพ์ระดับที่ต่ำกว่าจะเป็นเซตย่อยของเครื่องพิมพ์ระดับนี้กล่าวคือ การใช้งานของเครื่องพิมพ์อะไรก็ตามสามารถใช้กับพีซีแอลได้- สั่งงานได้กะทัดรัดและง่ายรวดเร็ว- มีการทำงานได้ทั้งรูปแบบที่เรียกว่า มาสเตอร์กราฟิกหรือแบบเดซีวีลที่พิมพ์ตัวอักษรทีละตัว เห็นได้ว่าบริษัทฮิวเล็ต-แพคการ์ดได้เน้นเครื่องพิมพ์ที่ใช้ PCL ครอบคลุมการทำงานของเครื่องพิมพ์อื่น ๆ ทั้งหมด ทำให้การเขียนซอฟต์แวร์จะได้เป็นมาตรฐานเดียวกันได้ลักษณะของพีซีแอล
พีซีแอลมีลักษณะของคำสั่งที่ใช้ในการสั่งงานเครื่องพิมพ์ การสั่งงานก็เหมือนกับสั่งงานเครื่องพิมพ์ในระดับดอตแมตริกซ์เดิม คือส่งรหัสไปยังเครื่องพิมพ์ เครื่องพิมพ์จะทำการแปลความหมายของการพิมพ์พีซีแอลที่ใช้นี้มี 3 รูปแบบคือ1. ใช้รหัสควบคุมโดยตรง เช่น การใช้รหัส CR, LF, FF เป็นต้น รหัสควบคุมนี้อยู่ในตารางรหัสแอสกีแล้ว2. ตัวอักษรตามรหัส ESC เช่น ESC ตามด้วย X X ที่ตามมาจะสื่อความหมายกับเครื่องพิมพ์ในการสั่งการทำงาน รหัส X ที่ใช้มีค่าอยู่ระหว่างรหัส แอสกี 48-126 เช่น ESC E หมายถึงใช้รีเซตเครื่องพิมพ์ ESC 9 หมายถึงการรีเซตการตั้งขอบซ้ายและขอบขวา3. ตัวอักษรตามรหัส ESC ในรูปพารามิเตอร์ ในกรณีนี้ใช้ตัวอักษรหลายตัว และเป็นตัวแปรหรือตัวเลขที่แปรเปลี่ยนค่าได้ รูปแบบของการใช้เป็น ESC X y # Z1 # Z2 # Z3…#Zn [data] โดยที่ y, #, Zi และ [data] อาจเป็นตัวเผื่อเลือก คือ จะมีหรือไม่ก็ได้X เป็นตัวอักษรที่เรียกว่า พารามิเตอร์ ใช้รหัสแอสกีจาก 33-47 (!ถึง/) Y คือ ตัวอักษรบอกกรุ๊ป ใช้รหัสแอสกีจาก 96-126# คือ ฟิล์ดบอกค่า เป็นกลุ่มของตัวอักษรที่เป็นค่าตัวเลขZi คือ ตัวอักษรพารามิเตอร์Zn คือ ตัวบอกจบคำสั่ง[data] คือ ตัวข้อมูลที่มองแบบรหัสไบนารี่ตัวอย่างพีซีแอล คำสั่งดังกล่าวเป็นคำสั่งที่รวมคำสั่งเข้าด้วยกัน คือ ESC & I 1 o กับ ESC & I 1 2 A สังเกตว่าหาก
คำสั่งที่ใช้อยู่ในกลุ่มเดียวกันสามารถนำมารวมกันได้ แต่ต้องเปลี่ยนตัวอักษรบอกจบคำสั่งของคำสั่งแรกให้เป็นตัวอักษรตัวเล็กเสียก่อน เพราะรหัสจบคำสั่งของพีซีแอลจะใช้ตัวอักษรตัวใหญ่เท่านั้นพีซีแอลสั่งงานให้ทำอะไรได้บ้าง
ในที่นี้จะไม่ยกคำสั่งของพีซีแอล เพราะคำสั่งของพีซีแอลมีมาก และไม่สามารถนำมาแสดงให้ดูได้หมด ผู้สนใจหาดูได้จากหนังสือ Technical Reference Manual ของเครื่องพิมพ์เลเซอร์ สำหรับบทความนี้จะกล่าวถึงขีดความสามารถของพีซีแอลว่าทำอะไรให้เราได้บ้างในเชิงภายนอกที่เห็นว่าเราจะใช้พีซีแอลมาช่วยงานเราได้แค่ไหนคำสั่งในการกำหนดขนาดกรอบการพิมพ์
เครื่องพิมพ์เลเซอร์เป็นเครื่องพิมพ์ที่พิมพ์ได้ทีละแผ่น การจัดการข้อมูลการพิมพ์จะต้องกำหนดขอบเขตของการพิมพ์ โดยการกำหนดกรอบกระดาษ การกำหนดจุดบนกระดาษ พีซีแอลอ้างอิงตำแหน่ง X,Y ตำแหน่งอ้างอิง 0,0 อยู่บนซ้ายสุดของขอบกระดาษ โครงสร้างของตำแหน่งกระดาษแสดงได้ดังรูปที่ 1ในการอ้างอิงทางแน Xของพีซีแอล จะอ้างอิงเป็นจุด หรืออ้างแบบแบบแกนนอน จะเป็นดังรูป 2
ขนาดกระดาษ | A | B | C | D | E | F | G | H |
LETTER | 3300 | 2550 | 3180 | 2550 | 60 | 60 | 50 | 100 |
LEGAL | 4200 | 2550 | 4080 | 2550 | 60 | 60 | 50 | 100 |
EXECUTIVE | 3150 | 2175 | 3030 | 2175 | 60 | 60 | 50 | 100 |
A4 | 3507 | 2480 | 3389 | 2480 | 60 | 58 | 50 | 92 |
COM-10 | 2850 | 1237 | 2730 | 1237 | 60 | 60 | 50 | 100 |
MONARC | 2250 | 1162 | 2130 | 1162 | 60 | 60 | 50 | 100 |
C5 | 2704 | 1913 | 2586 | 1913 | 60 | 58 | 50 | 92 |
DL | 2598 | 1299 | 2480 | 1299 | 60 | 58 | 50 | 92 |
รูปที่ 2 กรอบการพิมพ์แบบแกนนอน
ขอบกระดาษ | A | B | C | D | E | F | G | H |
LETTER | 2550 | 330 | 2400 | 330 | 50 | 100 | 60 | 60 |
LEGAL | 2550 | 4200 | 2400 | 4200 | 50 | 100 | 60 | 60 |
EXCUTIVE | 2175 | 3150 | 2025 | 3150 | 50 | 100 | 60 | 60 |
A4 | 2480 | 3507 | 2338 | 2507 | 50 | 92 | 60 | 58 |
COM-10 | 1237 | 2850 | 1087 | 2850 | 50 | 100 | 60 | 60 |
MONARC | 1162 | 2250 | 1012 | 2250 | 50 | 100 | 60 | 60 |
C5 | 1913 | 2704 | 1771 | 2704 | 50 | 92 | 60 | 58 |
DL | 1299 | 2598 | 1157 | 2598 | 50 | 92 | 60 | 58 |
รูปที่ 3 กรอบการพิมพ์แบบแถบตั้งสังเกตว่าการใช้งานเครื่องพิมพ์เลเซอร์จำเป็นต้องใช้พีซีแอลบอกชนิดของกระดาษที่ใช้ แล้วจึง
อ้างอิงตำแหน่งการพิมพ์ได้ หากการอ้างอิงออกนอกกรอบที่จะพิมพ์ได้ เครื่องพิมพ์เลเซอร์จะไม่ยอมพิมพ์ให้
หรือแม้แต่การกำหนดตัวหนังสือที่จะพิมพ์เหลื่อมจากกรอบที่กำหนด ก็จะไม่พิมพ์ตัวหนังสือนั้นเช่นกันพีซีแอลสามารถสั่งการกำหนดเคอร์เซอร์ได้เหมือนจอภาพ
การพิมพ์บนกระดาษจำเป็นต้องมีการกำหนดเคอร์เซอร์ การเลื่อนเคอร์เซอร์ เครื่องพิมพ์เลเซอร์มีเคอร์เซอร์และจะเลื่อนเคอร์เซอร์ได้สองแบบ แบบแรกคือ การเลื่อนแบบแอปโซลุท และแบบที่สองเป็นแบบ รีเลตีฟ แบบแอปโซลุทเป็นแบบที่ใช้พีซีแอลสั่งให้เลื่อนไปยังตำแหน่ง X, Y โดยตรง ส่วนแบบรีเลตีฟนั้นค่าตัวเลขพารามิเตอร์ที่บอกมาจะนำมาบวกหรือลบกับค่าเดิม โครงสร้างการกำหนดเคอร์เซอร์แสดงได้ดังรูป 4ในการพิมพ์ตัวอักษรลงบนกระดาษเคอร์เซอร์จะเลื่อนไปเองโดยอัตโนมัติ นอกจากนี้เรายังสามารถ
เก็บตำแหน่งของเคอร์เซอร์ลงในสแต็ก และเรียกหน่วยเดซิพอยต์ หรืออ้างเป็นคอลัมน์ก็ได้ การอ้างเป็น
เดซิพอยต์เป็นหน่วยทางด้านงานพิมพ์ ซึ่งหนึ่งเดซิพอยต์มีค่าเท่ากับ 1/720 นิ้ว ส่วนการอ้างอิงทางแกน
Y จะต้องเป็นจุดหรือหน่วยเดซิพอยต์หรือเป็นแถวก็ได้เครื่องพิมพ์เลเซอร์ส่วนใหญ่ให้รายละเอียดจุดมีค่าเป็น 1/300 นิ้ว หรือพิมพ์ได้ละเอียด 300 จุดต่อนิ้วการสั่งงานด้วยพีซีแอลสามารถสั่งให้การพิมพ์พิมพ์ตามแนวนอน หรือแนวตั้งของกระดาษก็ได้ ถ้าพิมพ์แนวนอน ก็เรียกการพิมพ์แบบ landscape และถ้าพิมพ์แกนตั้งก็เรียกว่า portraitการพิมพ์แบบนอนนั้นผู้สั่งงานใช้คำสั่งพีซีแอลเพื่อกำหนดการพิมพ์จะต้องไม่พิมพ์เกินกรอบที่กำหนด เครื่องพิมพ์แต่ละเครื่องมีกรอบการพิมพ์ ดังนั้นการอ้างอิงตำแหน่ง X, Y ต้องไม่เกินกว่าตำแหน่งของกรอบกระดาษกรอบกระดาษแบบแกนนอนมีกรอบการพิมพ์ได้ดังรูปที่ 4 ส่วนการสั่งงานพีซีแอลในกรอบการพิมพ์กลับเข้ามาใหม่ได้ การสั่งพิมพ์นี้สั่งพิมพ์ได้ทั้งแบบตัวอักษรหรือกราฟิกผสมกันได้
รูปที่ 4 การควบคุมเคอร์เซอร์พีซีแอลสามารถสั่งงานเพื่อกำหนดสิ่งแวดล้อม
ข้อเด่นของการใช้พีซีแอลเห็นจะได้แก่การสั่งพิมพ์เป็นหน้า และคำสั่งพีซีแอลมีรูปลักษณะที่ควบคุม
การทำงานได้ง่าย นอกจากนี้ยังสามารถสั่งการควบคุมการทำงานในการกำหนดสิ่งแวดล้อมได้ เช่น ออกจำนวนสำเนาซึ่งจะพิมพ์กี่ใบก็ได้ บอกรายละเอียดของกรอบกระดาษ ชนิดของตัวอักษรและสามารถสั่งให้
พิมพ์ผสมกับตัวอักษรหลายรูปแบบในหน้าเดียวกันได้พีซีแอลกับลักษณะของตัวอักษร (ฟอนต์)
ปกติภายในเครื่องพิมพ์เลเซอร์มีการเก็บรูปแบบลักษณะตัวอักษรไว้แล้วหลายรูปแบบ เครื่องพิมพ์
เลเซอร์บางเครื่องสามารถเก็บรูปแบบตัวอักษรได้ถึง 16 แบบหรือสามารถโหลดมาเพิ่มเติมได้อีก ในการสั่งพิมพ์นั้นอาจให้พิมพ์ตัวหนาโดยใช้ฟอนต์เดิมได้ หรือเลือกฟอนต์หลายชนิดผสมกันได้ รูปที่ 5 เป็นตัวอย่าง
การสั่งให้พิมพ์ตัวหนาและเลือกตัวอักษรหลายแบบ
รูปที่ 5 ตัวอย่างการสั่งให้พิมพ์ตัวหนาและการเลือกตัวอักษรหลายแบบการสร้างตัวอักษรใช้เอง
การสร้างตัวอักษรภาษาไทยใช้เองทำได้สะดวกมาก เพราะเครื่องพิมพ์เลเซอร์มีขีดความสามารถที่จะให้ผู้ใช้งานสร้างไฟล์ตัวอักษรและโหลดเข้ามายังเครื่องพิมพ์เลเซอร์ได้ตัวอักษรที่จะสร้างขึ้นจะเป็นตัวอักษรที่มีความละเอียดค่อนข้างสูง ดังนั้นจึงต้องใช้จุดที่อยู่ในเซลตัวอักษรจำนวนมากรูปที่ 6 เป็นขอบเขตของตัวอักษรหนึ่งตัว ซึ่งเมื่อสร้างตัวอักษรขึ้นใช้เองต้องให้รายละเอียดข้อมูลเหล่านี้ไว้หมด
รูปที่ 6 เซลตัวอักษรการกำหนดข้อมูลตัวอักษรจะเก็บไว้ในไฟล์ โดยโครงสร้างของไฟล์เขียนได้อย่างคร่าว ๆ เป็นดังรูปที่ 7
รูปที่ 7 โครงสร้างไฟล์ที่เก็บข้อมูลตัวอักษรข้อมูลตัวอักษรแต่ละตัวจะเก็บเป็นข้อมูลตัวเลขไบนารี และมีข้อมูลอยู่มากพอควรสำหรับตัวอักษร แต่ละชุด รูปที่ 8 เป็นตัวอย่างข้อมูลของตัวอักษรตัวหนึ่งที่เก็บรายละเอียดของตัวอักษรขนาด 24x32 จุด
รูปที่ 8 ข้อมูลตัวอักษณหนึ่งตัวด้วยวิธีการกำหนดข้อมูลตัวอักษรแต่ละตัวแยกกัน ทำให้เราสามารถสั่งงานเครื่องพิมพ์เลเซอร์ในลักษณะที่พิมพ์แบบตัวอักษรที่มีความกว้างไม่เท่ากันได้คำสั่งพีซีแอลสำหรับลากเส้น ตีกรอบ ระบายแรเงา
เพื่อให้การใช้งานเครื่องพิมพ์เลเซอร์ได้ดียิ่งขึ้น คำสั่งของพีซีแอลยังรวมเอาคำสั่งที่เกี่ยวกับกราฟิกลงไปไว้ด้วย เช่น คำสั่งในการลากเส้นตีกรอบ หรือแม้แต่ระบายหรือแรเงาผู้เขียนโปรแกรมพีซีแอลสามารถนำคำสั่งต่าง ๆ มารวมกันให้เป็นมาโครได้ นอกจากนี้พีซีแอลยังครอบคลุมการทำงานแบบเดิมที่ใช้คำสั่ง ESC ไว้กล่าวคือ สามารถทำการแปลงรหัส ESC ที่ใช้กับเครื่องพิมพ์อื่นให้ใช้กับเครื่องพิมพ์เซอร์ได้
เขียนโดย : รศ. ยืน ภู่วรวรรณ
ไมโครคอมพิวเตอร์ ฉบับที่ 58 เดือนพฤษภาคม 2539 |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น