דבר אליה, הכל אודות מדפסות ושפות הדפסה, אמולציה ושפת תיאור עמוד.
כלל המדפסות החל במדפסת לייזר ,מדפסת לד ,מדפסת הזרקת דיו וכלה במדפסת תעשייתית,דוגמת מדפסת אינדיגו ,מופעלות על ידי רצף פקודות אשר מוכר בשם שפת הדפסה (Priner Control Language) או בשם שפת תיאור דף (Page Description Language).כשם שמדפסת אינה יכולה להדפיס ללא טונר למדפסת, כך היא אינה יכולה לעבד את עבודת ההדפסה לכדי פלט ללא שפת הדפסה ושפת תיאור עמוד.
שפת הדפסה למדפסות, נוצרה על מנת לאפשר שליטה מלאה בתכונות המדפסת. מדפסות מקבלות את עבודת ההדפסה מן המחשב, עבודות אלו מורכבות מרצף פקודות אשר מתאר או מתרגם למדפסת, תוך שימוש בשפת ההדפסה, כיצד לעצב את המסמך המודפס, רצף פקודות זה מוטמע במסמך שנשלח להדפסה ומהווה את שפת ההדפסה שמוכרת בשם 'שפת תיאור הדף' ובאנגלית 'PDL-Page Description Language'. תוכנות המחשב, באמצעותן ניתן להדפיס, יוצרות תיאור גרפי של הצגת ממשק המשתמש בשפתן הפנימית, שהוגדרה על ידי מפתחי התוכנה, שמתורגמת לשפת הדפסה נתמכת טרם שליחתה למדפסת ,לאחר מכן מעבדת המדפסת את שפת ההדפסה למערך נקודות להדפסה ויוצרת תמונת הדפסה.

ישנן שפות הדפסה רבות, שחלקן יעודי לדגם מדפסת אחד או סדרת מדפסות של יצרן ספציפי. מאידך ישנן שפות הדפסה נפוצות יותר ,כמו PCL ו PostScript שמשמשות את כלל יצרני המדפסות והפכו ,הלכה למעשה , לסטנדרט תקני של מנהלי התקנים עבור יצרני המדפסות כששפת PCL של hp מהווה סטנדרט להדפסת טקסטים ו PostScript של Adobe מהווה סטנדרט להדפסת גרפיקה. להלן אמנה את שפות ההדפסה היותר מוכרות ואת מפתחיהן:
-
AFP - Advanced Function Printing
-
AFPDS - IBM Advanced Function Presentation Data Stream
-
HBP - Brother Host Based Printing
-
CAPT Canon Advanced Printing Technology
-
CPL Tally Compressed Printer Language
-
DPL - Datamax Programming Language Datamax Programming Language
-
ESC/P - Epson Standard Code for Printers
-
ESC/P2 - Epson Standard Code for Printers, Level 2
-
EXCL Talaris Systems, Extended Command Language
-
IBM ASCII Later renamed to PPDS - IBM Personal Printer Data Stream
-
IDP Apple, Imaging Device Protocol
-
Interpress Xerox predecessor to PostScript
-
JetReady HP JetReady
-
KPDL Kyocera's own implementation of PostScript
-
LCDS - Xerox Line Conditioned Data Stream
-
LIDIL HP Lightweight Imaging Device Interface Language
-
LIPS - Canon Laser-beam Image Processing System
-
Metacode - Xerox Xerox LPS printers
-
MO:DCA - IBM Mixed Object Document Content Architecture
-
PCL - HP Page Description Language
-
PPA - HP Printing Performance Architecture
-
PPDS - IBM Personal Printer Data Stream
-
PostScript-Adobe Systems
-
ProPrinter - IBM ProPrinter
-
QPDL - Quick Page Description Language Samsung Printer Language II / QPDL
-
RTL - HP Raster Transfer Language
-
SAP-ABAPSAP Advanced Business Application Programming
-
SCP - HP Sleek Control Protocol
-
SMART Samsung SMART
-
SPDL Standard Page Description Language ISO/IEC DIS 10180
-
SPL - Samsung Printer Language Samsung Printer Language
-
WPS Windows Printing System, Resource based command/data stream used by Microsoft At Work Peripherals
-
XES Xerox Escape Sequences
-
XPS - XML Paper Specification
-
PDL-Page Description Language
שפת תיאור העמוד נקראת PDL-Page Description Language ותפקידה ליצור תיאור מראה של תצורת פלט ההדפסה ברמה גבוהה יותר מרמת מפת סיביות (Bitmap). 'שפת תיאור עמוד' מוכרת יותר בשם 'שפת שליטה במדפסת' המתקראת בשמה הלועזי PCL-Printer Control Language. פעמים רבות נוצר בילבול בהקשר השם PCL וישנה נטיה לייחסו לשפת PCL שפותחה על ידי hp ,אז קודם כל רצוי וכדאי לדעת שהמונח PCL אינו משוייך ואו קשור בלעדית לשפת PCL שפותחה על ידי hp והמונח 'שפת שליטה במדפסת' כולל תחתיו את שפת PCL של hp. אמנם שפת PCL שפותחה על ידי hp נחשבת לאחת משתי שפות ההדפסה הנפוצות ביותר יחד עם שפת PostScript של 'אדובי' כשבפועל שפת PCL של hp פופולרית ונפוצה יותר בשימוש כללי משום שייעודה משמש להדפסת טקסט שהדפסתו מהווה את מרבית השימוש במדפסות לייזר ,הזרקת דיו ומדפסות סיכות ואף הבשילה והפכה לשפת תכנות מובילה לתכנות מדפסות ליצירת קבצי הפעלה עבור תכונות המדפסת.
'שפת תיאור העמוד' הינה רצף טקסטואלי או בינרי כאשר אותו רצף נתונים עשוי לשמש מספר פעמים להדפסת מספר עותקים זהים והיא נבדלת משפות הדפסה מבוססות מחשב כמו GDI ,APIs ו OpenGL שיכולות להיקרא על ידי תוכנות ליצירת פלט גרפי.
hp פיתחה בנוסף לשפת PCL שמשמשת כשפת שליטה למדפסת ,את שפת PJL-Printer Job Language שמשמשת כשיטת החלפה בין שפות הדפסה ברמת העבודה. שפת PJL משמשת גם לאיחזור נתונים ותקשורת דו-כיוונית בין המדפסת והמחשב אליו היא מחוברת. ברמה המעשית ,מאפשרת שפת PJL רמה גבוהה יותר של שליטה ברמת העבודה עם שפת השליטה במדפסת כמו: החלפת שפות הדפסה במהלך עבודת ההדפסה ,הפרדת עבודות הדפסה , אפשרות הדפסה בסביבות הדפסה שונות ותחת פרוטוקולים שונים ,איחזור מידע וקריאת נתונים דו-כיוונית בין המדפסת והמחשב המארח ,בקרה של סטטוס המדפסת והעברת פקודות מהמדפסת אל המערכת ולהפך. למרות ששפת PJL יועדה במקורה לשמש כהרחבה לשפת השליטה במדפסת PCL של hp ,היא נתמכת כיום על ידי מרבית המדפסות המבוססות על שפת PostScript מבית 'אדובי'. יצרני מדפסות רבים פיתחו הרחבות לשפת PJL שכוללות פקודות קינייניות שהותאמו למנועי המדפסות מתוצרתן, מאידך לא כל האפשרויות הקיימות בשפת PJL מיושמות במדפסות מתוצרת יצרנים אחרים שאינם hp. שפת PJL מהווה שפת על לכל שפות השליטה במדפסת ועיקר פעולתה הוא ניתוח של פקודות השליטה כתהליך ראשוני.
פקודות PJL
שפת 'עבודת המדפסת' מוכרת יותר בשמה הלועזי PJL-Printer Job Language מאפשרת שליטה על עבודת המדפסת, שלא כמו שפות תיאור הדף כגון PCL ,HP-GL/2 אשר שולטות מיקום הדפסת הנקודות בדף המודפס. אחת התכונות העיקריות שמציעה שפת PJL הינה האפשרות לשנות את שפת תיאור הדף שבשימוש (Personality change) בין עבודות הדפסה. תוכנות שתומכות ב-PJL יכולות להדפיס עבודה אחת בשפת PCL ולאחריה להדפיס בשפת PostScript ,ללא התערבות משתמש. שפת PJL מאפשרת ,בנוסף, העברת פקודות דו-כיוונית מן המחשב אל המדפסת ולהיפך. שפת PJL יכולה 'לבקש' נתונים מהמדפסת ,כמו: הגדרות המערכת ,סטטוס ,דגם ונתונים סימולטניים אודות עבודת ההדפסה. שפת PJL מאפשרת לבצע שינויים נדרשים בעת עבודת ההדפסה על ידי שליטה בבקר השליטה של המדפסת ,זאת מבלי ששינויים אלו יבוצעו דרך בקר השליטה הפיזי. שפת PJL אחראית למידע המתקבל בצג המדפסת ואו בהודעות של בקרת השליטה התוכנתית ,אודות מצב המדפסת.
שפת PJL תוכננה במקור לשימוש של מפתחי תוכנה ואנשי תמיכה טכנית.
מצ"ב להלן פקודה בשפת PJL ,לביצוע החלפה בין שפת PCL לשפת פוסטסקריפט ,כאשר העבודה בשפת PCL מבוצעת ראשונה וקוד הפקודה בשפת PJL מבצע החלפה של שפת ההדפסה על מנת להכינה לביצוע עבודת הדפסה בשפת PostScript:Ec%-12345X@PJL ENTER LANGUAGE = PCL. . . . . pcl data. . . . . . EcE@PJL ENTER LANGUAGE = POSTSCRIPT% ! PS-ADOBE. . . . postscript job data. . . .^DEc%-12345Xחילופי שפה או החלפת אמולציות
התוצאה של תמיכה בשפות הדפסה מרובות שאומצו על ידי יצרני מדפסות, הובילה לפתרון של אפשרות החלפת שפת הדפסה לשפה הנדרשת לביצועה. הווה אומר שאם עבודת הדפסה שנשלחה אל המדפסת בשפת PCL הסתיימה וההדפסה הבאה שנשלחת הינה בשפת פוסטסקריפט ,תעבור המדפסת לשפת פוסטסקריפט ללא התערבות משתמש, תכונה זו נקראת 'חילוף אמולציות אוטומטי' והיא מוטמעת כיום במרבית מדפסות הלייזר. טכנולוגית חילוף אמולציות מתאפשרת על ידי הטמעה של שפת עבודת המדפסת PJL שבוחנת את הפקודות המתקבלות להדפסה ומשנה באופן אוטומטי את שפת ההדפסה לשפה הנדרשת לביצוע עבודת ההדפסה שנשלחה. עם זאת ,עדיין קיימות בעיות זיהוי של שפת ההדפסה שנבחנת על ידי PJL ומובילה לעיתים להודעות שגיאה בזיהוי כדוגמת: פקודות פוסטסקריפט נראות כטקסט רגיל ואינן מכילות קוד Escape ולכן נוצר בלבול בין שפת פוסטסקריפט לבין עבודות ללא צורה (UnFormatted Text Job) שנשלחו להדפסה וזוהו כעבודה בשפת פוסטסקריפט ולהיפך, הפתרון למניעת בילבול זה הוביל להטמעה של כותרת בעבודות ההדפסה בשפת פוסטסקריפט בנוסח "%!PS-Adobe-3.0" שמבהיר לשפת עבודת ההדפסה שעבודה זו הינה בשפת פוסטסקריפט ולא בעבודה ללא צורה. עם זאת, תכונת חילופי אמולציה אינה נחשבת לאמינה במיוחד ולכן לקוחות רבים שעובדים בעיקר באמולצית פוסטסקריפט יעדעפו רכישת מדפסת ייעודית שנועדה לעבודה עם אמולציית פוסטסקריפט בלבד ואו קיבוע של מדפסת בעלת תכונה של אפשרות חילוף על אמולציה אחת בלבד. שיפור נוסף הוכנס בשנים האחרונות לתכונת החלפת אמולציות אוטומטית הוא הטמעה של שורת פקודה לעבודת ההדפסה טרם שליחתה אל המדפסת דרך מנהל ההתקן, שורת פקודה זו מונעת את הבילבול שנוצר טרם הטמעתה בין חילופי אמולציות אוטומטיים במדפסת. קיימת שיטת חילופי אמולציה אוטומטית נוספת שיועדה למדפסות המאובזרות באמצעי קישוריות מרובים שמחוברים למחשבים שונים, שיטה זו מאפשרת החלפת אמולציות אוטומטית בין קישוריות אלו. שיטה מתוחכמת יותר מאפשרת שיוך קישורית יציאה לאמולצייה ייחודית, כך שיציאת קישורית X מותאמת לעבודה עם אמולציית PCL בלבד ואילו יציאת קישורית Y מותאמת לעבודה עם פוסטסקריפט בלבד.בראייה היסטורית ,אימצו יצרני מדפסות שפה אחת או שתיים של יצרנים מובילים ,דבר שנקרא בעגה המקצועית 'אמולציה' ובלעז Emulation. משמעות המילה 'אמולציה' בתרגום חופשי הינו 'חיקוי' כשבפועל שפת PCL של hp מהווה את סטנדרט שפות ההדפסה והינה המובילה בין שפות ההדפסה והדברים באים לידי ביטוי בכך שמרבית יצרני המדפסות יצרו אמולציה עבורה. הסיבה לכך שיצרני מדפסות מעדיפים לאמץ שפה מובילה כמו PCL של hp נובעת מכך שהדרך הבטוחה והנוחה ליצור מדפסת שתתחרה במובילה ,היא 'להיכנס לנעליה' וזאת על מנת שהמדפסת תהיה תואמת לסטנדרטים של מפתחי מערכות ההפעלה והתוכנות הנלוות אליה ,הווה אומר שאם יצרן מדפסות יחליט בכל זאת לפתח שפת הדפסה משלו ,הוא קודם כל יאלץ להשקיע הון עתק בפיתוחה ומאידך יסתכן בכך שמפתחי מערכות ההפעלה והתוכנה לא יטמיעו את שפת ההדפסה שפיתח ופשוט לא יתחשבו בקיומה בעת פיתוח התוכנות שיצאו תחת ידיהן ואזי כל עמלו יהיה לשווא. אי לכך ,ברמה המעשית ,שפת PCL של hp ושפת PostScript של 'אדובי' הפכו לשפות שאומצו כסטנדרט על ידי כלל יצרני המדפסות. למותר לציין ש'אדובי' אינה יצרנית מדפסות ,אלא בית תוכנה. מדפסות שתומכות הן בפי.סי.אל והן בפוסטסקריפט מתוכנתות לבצע מיתוג של מעבר בין שפות ההדפסה על ידי חישה תוכנתית של עבודת ההדפסה המתקבלת אצלן.
מצ"ב להלן דוגמא לאפשרות חילופי אמולציית שפת הדפסה במדפסת מתוצרת לקסמרק:
Microsoft GDI
קיימת ,גם כן, חלופה זולה ופשוטה יותר מהטמעה של השפות PCL ואו PostScript ,שפה זו נקראת GDI-Graphics Device Interface שפותחה על ידי מייקרוסופט ומהווה חלק בלתי נפרד ממערכת ההפעלה ווינדוס. בפועל ,תפקידה של GDI במערכת ההפעלה ווינדוס הוא הצגה של אובייקטים גרפיים והמרתם למידע עבור אמצעי פלט ,כמו מדפסות וצגי מחשב. שפת GDI נחשבת לחלופה פשרנית ביחס לשפות PCL ו PostScript משום שהיא אינה בדיוק שפת תיאור עמוד ,כי אם גישה או דרך נוספת לביצוע המרת תיאור עמוד לתוצאת פלט הדפסה. גישה זו של GDI נשענת על עיבוד נתוני תיאור הדף במחשב המארח ולא על ידי מעבד ההדפסה שמוטמע במדפסת. אמנם הטמעה של טכנולוגית GDI במדפסת ,תורמת להוזלת מחירה אך מאידך מעמיסה על המחשב המארח את תהליך העיבוד שאמור להתבצע על ידי מעבד ההדפסה המהיר והתוצאה מתבטאת בקריסה מרובה של תוכנות ו'תקיעה' של המחשב המארח מדפסת מבוססת GDI. בדרך כלל מוטמעת שפת GDI במדפסות זולות. קיימת שפת הדפסה מקבילה לGDI אף במערכת ההפעלה OS X של מקינטוש. גישת GDI כשפת הדפסה נקראת 'הדפסה מבוססת אירוח' ,והיא מתייחסת באופן עקרוני אל המדפסת כאל צג מחשב, הווה אומר שכל דבר שמוצג ע"ג צג המחשב עשוי להפוך לעבודת הדפסה. גישת GDI יכולה להתאים להדפסה בסביבת הדפסה לא תובענית של טקסטים קלים ובתנאי שהמחשב המארח מצוייד בחומרה מתקדמת ומהירה. באופן עקרוני ,הטמעת GDI בסביבת ההדפסה של פלטפורמת ווינדוס היא, אכן, פרקטית ומקצרת תהליך עיבוד שאמור להתבצע על ידי בקר ההדפסה במדפסת. הווה אומר שמדפסת מבוססת GDI תורמת לביטול תהליך הכנת המסמך להדפסה על ידי בקר ההדפסה ,ובמקום שהמסמך המיועד להדפסה יעבור תהליך המרה לשפת הדפסה שנתמכת על ידי המדפסת והמדפסת תמיר אותו משפתה לתמונת מפת סיביות להדפסה, המדפסת תקבל את תמונת מפת הסיביות ישירות מהמחשב המארח ללא כל תהליכי המרה. נשמע מצויין ,אבל מסתבר שהדבר בכלל לא פרקטי, שכן כח העיבוד שנדרש מהמחשב מצריך השקעה במחשב יקר יותר מעצם החיסכון שיושג לכאורה מביטול תהליך העיבוד על ידי המדפסת. יתרה מכך ,היות וגודלה של תמונת מפת סיביות גדול מאוד ביחס לשפת תיאור עמוד, תגרום העברה ישירה של תמונת סיביות ישירות מהמחשב אל המדפסת לזמני המתנה ארוכים עד לקבלת עבודת ההדפסה. בימינו ,הטמעה של העברת תמונת מפת סיביות ישירות אל המדפסת הופכת לפופולרית יותר ויותר ,משום שחומרת המחשב הופכת חזקה יותר וזולה יותר וממשקי התפתחו ושיפרו את קצב העברת הנתונים מהמחשב אל ההתקנים המחוברים אליו. עשנו צפי התפתחות עתידית שתתרום להוזלת חומרת המדפסות ותבוסס על GDI ,בעיקר בתחום המדפסות האישיות.
אז מהי שפת ההדפסה PCL במילים פשוטות?
PCL הינו סטנדרט של תצורת שפת הדפסה המשמשת במדפסות הזרקת דיו ובמדפסות לייזר בפרט. כלומר שאם אתם מדפיסים למדפסת הזרקת דיו או מדפסת לייזר ,סביר להניח שאתם עושים שימוש בשפת PCL. קבצי PCL יכולים להיווצר על ידי שימוש במרבית התוכנות מבוססות פלטפורמת ווינדוס בפשטות ובקלות על ידי ביצוע הדפסה לקובץ ובתנאי שמנהל-התקן ההדפסה(Printer Driver) מבוסס PCL. באותה המידה ניתן להדפיס קובץ PCL תחת פלטפורמת UNIX למדפסות שנתמכות על ידי מנהל התקן מבוסס PCL על ידי הפניית תור הדפסה והפיכתו לקובץ. קובץ PCL מעין זה הינו הצגה טבעית ומלאה של פקודות שנכתבו בשפת PCL.
עובדה היא ששפת PCL ניתנת להדפסה באופן ישיר וקובץ PCL שמור ניתן להדפסה על ידי יישום שורת הפקודה "הדפס-שם קובץ.PCL" בשורת הפקודה של סביבת ווינדוס או "lpr file-name.pcl" בשורת הפקודה בסביבת יוניקס לכל מדפסת מבוססת PCL ,עניין מזה מהווה יתרון בסיסי לשפת PCL כפורמט נייד ביחס לשפות תיאור עמודים כמו פי.די.אף ודומותיה ובכך מהווה יתרון משמעותי שאומר שכל עוד ישנה מדפסת תומכת PCL יתאפשר להפוך קובץ PCL שמור לפלט הדפסה והדבר משמש כארכיב אלקטרוני חלופי עבור פלט נייר.
שפת ההדפסה PCL פותחה על ידי חברת hp בשנת 1980 והציגה חלופה יעילה וזולה לשפת ההדפסה PostScript של חברת 'אדובי' שהייתה הנפוצה ביותר טרם שחרורה של שפת PCL והפכה תוך זמן קצר ועד היום לשפת השליטה במדפסות הנפוצה ביותר למרות שהיא מציגה אפשרויות שליטה מוגבלות יותר מאשר משמאפשרת שפת PostScript או PDF של 'אדובי'. הסיבה שבגינה הפכה שפת PCL לפופולרית והנפוצה ביותר למרות יתרונותיה של שפת PostScript היא בכך שמרבית עבודות ההדפסה אינן מצריכות שימוש ביכולות הנרחבות של שפת PostScript. ולמרות יתרונותיה ויכולותיה של שפת PostScript על שפת PCL ,דווקא מיעוט התכונות של שפת PCL משמעותו פשטות וקלות תיכנות ותפעול וכאן בא לידי ביטוי היתרון של שפת PCL על PostScript. שפת PCL נוצרה לכתחילה כשפה פשוטה ובקוד פתוח כתוצאה מאימוץ קונספט עיסקי של hp שהבינה ששליטתה בשוק המדפסות מאפשרת שיתוף מלא של שפת PCL כשפה בקוד פתוח ואי שימורה כקיניין רוחני משרת את מטרותיה העיסקיות וראייה זו אכן הובילה לשליטה כמעט טוטאלית בפלח השוק בו אוחזת hp וכאן אביא ציטוט של מנהלי hp בעת שחרורה של שפת PCL כשפת מדפסות בקוד פתוח:"הראייה העיסקית של hp מושתתת על מכירת מדפסות ולא על קניין רוחני של שפות הדפסה" ודי בכך כדי להבין מדוע שפת PCL אכן השתלטה על מעל לתשעים אחוזים מסך שפות ההדפסה המוטמעות במדפסות המיוצרות כיום ,כשבעשרת האחוזים הנותרים מתחלקות שאר שפות ההדפסה ובראשן PostScript של 'אדובי' שבדרך כלל מוטמעת לצידה של שפת PCL. תוצאת היותה של PCL שפת הדפסה בקוד פתוח תרמה לכך שמרבית יצרני מדפסות הלייזר אימצו אל חיקם את שפת PCL ופיתחו על פלטפורמת PCL הרחבות ושיפורים עליהן רשמו פטנט מסחרי וניכסו אותם כקניין רוחני ,אז נכון שיש עניין מקומם בכך שיצרנית מדפסות מנכסת כקניין רוחני פיתוח על גבי פלטפורמה בקוד פתוח ,מאידך עניין זה תורם לשיפורים והרחבות של פלטפורמת PCL ובכך תורם באופן ישיר להפחתת מחירן של מדפסות הלייזר.
עם זאת אני חש שכדאי לציין שוב ששפת ההדפסה PCL אינה נוטריקון של Printer Control Language ,אלא מהווה אחת משפות השליטה במדפסת ומשמעותה בנוטריקון הינו Printer Command Language ,היינו 'שפת פקודות הדפסה'.
שפת PCL-Printer Command Language פותחה על ידי היולט-פקארד ושוחררה כשפת הדפסה בקוד פתוח בשנת 1980 כאשר יעודה העיקרי היה שפת תיאור עמוד למדפסות סיכה ומדפסות הזרקת דיו. עם הצגת סדרת מדפסות הלייזר LaserJet של hp שוחררה עימן גרסה עדכנית של שפת הדפסה מתאימה למדפסות לייזר PCL3 ,גרסה זו היוותה שפת שליטה יעילה ופשוטה יותר על תכונות המדפסת. שפת PCL יועדה בתחילה למדפסות hp בלבד ולאחר מכן הותאם והוטמע במדפסות של יצרנים אחרים.
פקודות PCL הינן רצף שורת קוד קומפקטי שמוטמע בעבודת ההדפסה טרם שליחתה למדפסת. הפקת רצף שורת הקוד הינה קלה ופשוטה באופן יחסי לשפות הדפסה מתוחכמות ומתקדמות יותר שנכתבו בשפת אסמבלר. לוחות עיבוד ראשיים(Formatters) ופונטים על בסיס PCL של מדפסות hp תוכננו לעבד ולתרגם במהירות פלט נתונים תוכנתי שנשלח אל המדפסת לתמונת הדפסה מסוג ראסטר(Raster) או Raster Image.
הצלחתה העיקרית של שפת PCL ,פרט להיותה שפת הדפסה ושפת תכנות בקוד פתוח היא בשימור עקבי של תמיכה בדגמי מדפסות מדור קודם אף ברמת גרסאות PCL החדישות ביותר ,מה שהופך את ההשקעה במדפסות hp למשתלמת ובטוחה יותר. עלות ייצורו של לוח עיבוד הדפסה תומך PCL הינו זול יותר ומאפשר השגת יעילות רבה יותר. למדפסות hp מבוססות PCL ישנה יכולת התעלמות מפקודות לא נתמכות מבלי לגרום לקריסה תוכנתית או חומרתית של המדפסת.
קיימות שש רמות של שפת ההדפסה PCL. פיתוחן של שש הרמות ,הונע על ידי הצירוף שבין התקדמות טכנולוגיית מנועי המדפסות ,שיפור צרכי ודרישות משתמשי המדפסות ושיפורי פלטפורמת התוכנה של המחשבים המארחים והתוכנות המותקנות על גביהם.
גרסאותיה הראשונות של שפת ההדפסה PCL1 ו PCL2 שימשו בעיקר עבור מדפסות סיכה ומדפסות הזרקת דיו.
PCL 1 - הוצגה בשנת 1980 ,גרסה זו תומכת בכל מדפסות הלייזר של hp מסדרת LaserJet פרט לדגמי 3100 ו 3150. גרסה זו מאפשרת הדפסה בסיסית ואפשרות הפרדה ,מאידך היא מוגבלת להדפסת טקסט ותווי ASCII בלבד. PCL1 הינה גרסת היסוד של קבוצת פונקציות פשוטה שיועדה לעבודה עם תחנת עבודה בודדת.
PCL 2 - הוצגה בשנת 1982 ,מכסה את כל פונקציות גרסת PCL1 ובתוספת: מאפשרת עיבוד והעברת נתונים אלקטרונית ,מאפשרת שימוש על ידי משתמשים מרובים אך עדיין להדפסת תווי ASCII בלבד.
PCL 3 - הוצגה בשנת 1984 ,גרסא זו מהווה התקדמות משמעותית שמביאה לידי ביטוי את המאמצים והמאבים שהשקיעה hp לשילוב יכולת עיבוד גולמית של גרפיקה. זוהי גרסת השפה הראשונה שהוטמעה בה היכולת לעבודה עם מדפסות לייזר של hp מסדרת LaserJet שהוצגה לראשונה בשנת 1984. גרסא זו הציגה תפקודיות ויישום פקודות שנדרשו עבור מדפסות לייזר שיאפשרו איכות גבוהה של עיבוד נתוני הדפסה שהוגבלה לעבודה עם מספר מצומצם של פונטים ,מפת סיביות וגרפיקה מוגבלים. גרסא זו הפכה במהרה לסטנדרט של שפות ההדפסה ואומצה במהרה על ידי יצרני מדפסות אחרים ששיווקו את מדפסותיהם יחד עם 'אמולצית LaserJet Plus'.
PCL 4 - הוצגה בשנת 1985 ,מהווה סטנדרט מוטמע בקוד מנהל ההתקן LaserJet II וההתייחסות אליה היא כאל ההארד-קור של שפת ההדפסה PCL. רמה זו הציגה אפשרויות הדפסה מתקדמות כמו תמיכה במאקרו ,גרפיקה ומפת סיביות גדולה יותר. גרסה זו הציגה את ההתקדמות הגדולה ביותר ברמת שיפור יעילות שפת ההדפסה.
PCL 5 - הוצגה בשנת 1990 ,מהווה את נדבך הבסיס למנהל ההתקן LaserJet III . רמה זו מאפשרת אפשרויות ותפקודיות אולטימטיבית בסביבת ההדפסה. רמה 5 של שפת פי.סי.אל הוצגה על מנת לאפשר תאימות לקבלת מדרוג להגדלה והקטנת פונטים בקנה מידה (Font Scaling) ,הדפסת גופני מתאר (OutLine Fonts) ובאמצעות מנהל התקן HP-GL/2 הדפסה של גרפיקת ווקטורים (Vector Graphics). רמה זו תוכננה להתמודדות עם עבודות הדפסה מורכבות יותר ברמה הפנים ארגונית כמו עיבוד נתונים של תוכנות עיצוב גרפי ותוכנות פרזנטציה כמו PowerPoint. גרסה זו אוחזת עד היום בתואר גרסת PCL הנפוצה ביותר שהוטמעה במספר המדפסות הרב ביותר מאז ומעולם.
PCL 5E - משמעות האות E בגרסה זו הינו במשמעות של הרחבה(Enhanced) למרות שגרסה זו תוארה כהרחבה לגרסה 5 ,היא מהווה את גרסת הקוד למנהלי ההתקן החדשים שהציגה hp לציוד הקצה החדש שלה מסדרת LaserJet בדגמי 4 , 5 ,6 ,8000 ו 9000. גרסה זו הציגה שיפור ושינויים נרחבים שכללו תקשורת דו-כיוונית בין המדפסת למחשב המארח כמו גם אפשרות לבחירה מתוך מגוון פונטים לשימוש בסביבה של פלטפורמת ווינדוס.
PCL 5C - משמעות האות C בגרסה זו הינו במשמעות של צבע(Color) ,גרסה זו גם כן מהווה הרחבה לגרסה 5 ומציגה הוספה של תמיכה תפקודית למדפסות צבע מסדרת Color LaserJet בדגמי 5 ,2500 ,4500 ,4550 ,4600 ,5500 ,8500 ו 8550. גרסה זו אינה שונה מגרסא 5E פרט לתמיכה בהדפסת פלט צבעוני.
PCL 6 - הוצגה בשנת 1996 ,גרסה זו מציעה תאימות לאחור בשימוש עם מדפסות hp מדגמים ישנים. גרסה זו שונה מאוד מגרסה 5 ומגרסאות קודמות. אחד השינויים המשמעותיים הינו בדרך בה מועברת פקודת ההדפסה אל המדפסת ,שינוי זה נועד לשפר את הביצועים והאמינות. הגרסאות שקדמו לגרסה 6 הכילו פקודות חדשות שלא נכללו בגרסאות קודמות ואילו גרסה זו הוסיפה תמיכה לאחור לפקודות שהתווספו עם שינויי הגרסא. PCL 6 שוחררה במקביל לסדרת המדפסות LaserJet בדגמי: 4000, 4050, 4100, 2100, 2200, 1200, 3200, 3300, 4200, 4300, 5000, 5100, 8000, 9000. PCL 6 מציגה ארכיטקטורה מודולרית חדשה שיכולה לקבל שינויים עתידיים עבור מדפסות hp. המאמצים להשגת שפת הדפסה עבור מדפסות מהירות ויכולת התמודדות עם גרפיקה מורכבת יותר ושטף נתונים יעיל יותר להפחתת העומס על תעבורת הרשת יצרו בעיית תאימות עם מערכות הפעלה ישנות יותר. אחד היתרונות המהותיים שהושגו בגרסא זו הינה תאימות טובה ונאמנה יותר של איכות ההדפסה לאופן הצגתה על גבי צג המחשב. עם זאת בעיות תאימות רבות הן מהבחינה החומרתית והן מהבחינה התוכנתית גרמו למשתמשים רבים לבחור בגרסת PCL 5 כשפת ההדפסה המועדפת.
פקודות שפת ההדפסה PCL מפעילות את תכונות המדפסת.

הדגמת מערכת הקואורדינטות של תיאור הדף בשפת PCL:

הנקודות 0,0 מייצגות הצטלבות של השוליים השמאליים של הגבול הלוגי של הדף עם מיקום השוליים העליונים שלו. היות והנקודות 0,0 נמצאות תמיד בהצטלבות זו, נקודה זו משנה את מיקומה אם השוליים העליונים משנים את מיקומם ומסתובבים סביב הדף עם שינוי אוריינטציית ההדפסה.
חברת hp פיתחה ארבעה רבדים של פקודות הדפסה: Control codes, PCL commands, HP-GLl/2 commands ופקודות PJL.
קוד השליטה (Control code) הינו אות שמאתחלת את פונקצית המדפסת, לדוגמא: Line Feed=LF, Form Feed=FF ועוד...
PCL Commands הינה פקודת PCL המאפשרת גישה אל מבנה השליטה בו מוטמעת שפת PCL. מבנה השליטה של PCL שולט על כל מאפייני המדפסת פרט לאילו המשמשים לגרפיקה ווקטורית אשר מבוקרת ע"י פקודות HP-GL/2. פקודות PCL בשונה מפקודות קוד שליטה בעלות תו אחד מכונות גם 'רצפי בריחה' או Escape sequences. תכנון זה מאפשר קלות שימוש בשפת תכנות גבוהה וזהו למעשה הגורם שהפך את שפת PCL לסטנדרט של שפות ההדפסה. פקודות אלו משמשות לסירוגין, כאשר פקודת PCL מפעילה תכונה של המדפסת, תכונה זו נשארת פעילה עד אשר פקודה זו נשלחת שוב בערך שונה, או שמדפסת עוברת איפוס להגדרות ברירת המחדל.
HP-GL/2 הינה פקודת גרפיקה ווקטורית בנויה מקוד בן שתי אותיות שמייצגות את פונקציית הפקודה, לדוגמא: IN=initialize. לאחר שינון הקוד בן שתי האותיות עשויים להתקיים פרמטר אחד או כמה שתפקידם לזהות את הנתונים ולעבד את הפקודה. HPGL הינה שפת ההדפסה הנפוצה ביותר לשימוש עם תווינים (Plotters) להדפסת תוכניות הנדסיות. שפת HPGL זכתה לשלל אמולציות ואומצה על ידי יצרני תווינים שונים כשהלכה למעשה היא מהווה את סטנדרט שפות ההדפסה עבור תווינים. שפת HPGL הוטמעה אף במדפסות לייזר בפורמט רחב של A3 עבור הדפסת טיוטא של עבודות הדפסה בפורמט רחב יותר שמתאפשרת להדפסה עם תווינים. הדפסה עם HPGL במדפסת לייזר תומכת A3 מועדפת עבור הדפסת מעגלים אלקטרוניים על שימוש בתווין. שפת HPGL הוטמעה בגרסת PCL5 על ידי hp על מנת לאפשר יכולות שימוש בגרפיקה ווקטורית.
PostScript
כפי שהובהר לעיל, החלופה העיקרית לשפת PCL מיוצרת ע"י חברת 'אדובי מערכות', ונקראת פוסטסקריפט. שלא כמו hp חברת 'אדובי' אינה יצרנית של חומרת מדפסות והיא מוכרת את פיתוחיה בשפות הדפסה ליצרני מדפסות ומסייעת בהטמעת שפת ההדפסה פוסטסקריפט על ידי תכנון בקרי ההדפסה שעתידים לשמש במדפסות תומכות פוסטסקריפט.
ההבדל העיקרי בין PCL 6 ופוסטסקריפט אינו נוגע לגרפיקה או התמונה אותו הן מסוגלות לעבד, אלא, לדרך בה הן פועלות ותאימותן לאמצעי פלט שונים. פוסטסקריפט מותאמת לעבודה עם תוכנות גרפיקה והוצאה לאור, והינה גם שפה דומיננטית עבור פלטפורמת OS של מקינטוש, בה שפת PCL אינה נתמכת.
לא בכל מדפסת תומכת פוסטסקריפט, מותקנת שפת ההדפסה המקורית של 'אדובי' והרבה יצרני מדפסות השתמשו באמולציה תואמת פוסטסקריפט שיוצרה ע"י גורם שלישי וזאת על מנת ליצור מדפסת תחרותית בעלות זולה יותר ממדפסת בה מותקנת גרסת פוסטסקריפט מקורית. בעבר, התייחסו יצרני המדפסות אל שפת פוסטסריקפט כאל מוצר פרימיום שהיווה אופציה לרכישה נפרדת.
הפופולריות של שפת PCL בגרסאות 5 ו- 6 גרמה לירידת מחירים דרסטית בעלות ההטמעה של שפת פוסטסקריפט, ולכן כיום ניתן למצוא מדפסות רבות בהן מותקנת התמיכה בפוסטסקריפט כסטנדרט.
PostScript Level 1
גרסתה הראשונה הוכרזה תחת השם פוסטסקריפט ועם התפתחותה זכתה לתוספת השם :'רמה 1'. גרסה זו הוטמעה לראשונה במדפסות אפל מסדרת LaserWriter. פוסטסקריפט הציגה כבר מתחילתה תכונות וביצועים חדשניים כגון: אפשרות שימוש בגופני מיתאר ושימוש בגרפיקה ווקטורית ,שטרם הוצגו על ידי שפת הדפסה ששימשה מדפסות לייזר שלא יועדו לשימוש תעשייתי. מבנה שפת ההדפסה פוסטסקריפט דומה לשפת תכנות רגילה של מחשב והדבר תרם לכך שהתכונות המשופרות שהציעה שפת הדפסה זו איפשרו שימוש מגוון לעיבוד הדפסות מורכבות יותר. הטמעת שפת ההדפסה פוסטסקריפט במדפסות אפל ,הפכה את מדפסות אלו להצלחה מיידית שגררה אחריה מינוח חדשני 'מדפסות הוצאה לאור שולחנית' ובלעז 'Desktop Publishing Printers' ובכך נקשר כתר המובילה בתחום ההדפסות המורכבות לשפת ההדפסה פוסטסקריפט.
מהר מאוד זיהו יצרני מדפסות נוספים את הפוטנציאל השיווקי שטומנת בחובה פוסטסקריפט וייצרו מדפסות תומכות פוסטסקיפט משלהן ,כשחלקן קנו את שפת ההדפסה מאדובי וחלקן פיתחו שפות מתחרות לפוסטסקריפט. אימוצה המהיר והנלהב של שפת ההדפסה פוסטסקריפט על-ידי גרפיקאים מקצועיים ואנשי הוצאה-לאור ,הוביל לפיתוחה של PhotoTypeSetters שפותחה על גבי פלטפורמת פוסטסקריפט ותקרא להלן PTS .PTS אפשרה לקחת עבודה שהודפסה לקובץ פוסטקריפט ולהשתמש בה כמסטר להדפסה תעשייתית ברזולוציה גבוהה מאוד ללא שינויים והתאמות. פיתוח זה תרם לאימוצה על ידי תחום ההוצאה-לאור וענף ההדפסה התעשייתית ועד היום משמשת פוסטסקריפט את ענף ההוצאה לאור עבור הדפסת ספרים ,עיתונים ועבודות הדפסה מורכבות.
PostScript Level 2
החסרון העיקרי של פוסטקריפט רמה 1 ,היה בכושר העיבוד האיטי שהיא הציגה יחד עם דרישות עיבוד וזיכרון גבוהים שדרשו אבזור של המדפסת במעבד חזק וזכרון רב שהובילו לתמחור יקר של מדפסות תומכות פוסטסקריפט שהיו יקרות מאוד מאוד לרכישה. מאידך ,יתרונותיהן של מדפסות פוסטסקריפט הפכו אותן לברירת הרכישה היחידה שהתקיימה בתקופה זו. ההרחבות שנוצרו עבור מדפסות פוסטסקריפט, איפשרו עבודה עם צבע, תבניות דפוס, שימוש במגירות קלט נייר שונות ,הדפסה דו צדדית וכו'. על מנת לאפשר הוזלה של הטמעת פוסטסקריפט ואפשרות עבודה עם ההרחבות שנוצרו ,שיחררה אדובי את פוסטסקריפט ברמה 2. רמה 2 איחדה את כלל ההרחבות שנוצרו עבור רמה 1. רמה 2 הציגה גםתכונות חדשות ושיפורים עיצוביים משמעותיים שאיפשרו עיבוד הדפסה מהיר ויעיל יותר ,עם תאימות לאחור עבור רמה 1 והצגה של אותה איכות.
יש לציין שפוסטסקריפט אינה מוגבלת לשימוש עם מדפסות בלבד והיא יכולה לשמש בכל התקן ליצירת תמונה וגרפיקה ממערך נקודות והיא עשוייה לשמש עבור הפעלת צגי מחשב ברזולוציות גבוהות והעברת נתוני שיגור פקס בין מכשירי פקסימיליה שונים.
בניגוד לשפת PCL שלה קמו אמולציות רבות ,שפת פוסטסקריפט הינה מורכבת מאוד והאמולציות שנוצרו עבורה, לא הציגו יציבות ותמיכה מושלמים ולכן בתחילה כשמחירי הטמעת שפת פוסטסקריפט היו יקרים מאוד אכן התקיימו אמולציות לפוסטסקריפט ואולם עם הוזלתה המשמעותית של פוסטסקריפט חדלו אמולציות אלו מלהתקיים וטכנולוגיית פוסטסקריפט מוטמעת כיום בהרבה דגמי מדפסות לצד אמולציית PCL ובפרט במדפסות בפורמט רחב של A3 ומעלה ובמדפסות צבע אף בפורמט A4.