
Le langage de commande d'imprimante , plus communément appelé PCL , est un langage de description de page (PDL) développé par Hewlett-Packard comme protocole d'impression et devenu une norme industrielle de facto . Initialement conçu pour les premières imprimantes à jet d'encre en 1984, le PCL a été décliné en différents niveaux pour les imprimantes thermiques , matricielles et de type page . Les versions récentes du PCL prennent en charge HP-GL/2 et PJL .
On dit parfois, à tort, que PCL est l'abréviation de Printer Control Language, qui est en réalité un autre terme pour Page Description Language .
Aperçu des niveaux 1 à 5 du PCL
Les langages PCL de niveaux 1 à 5e/5c sont des langages à commandes utilisant des séquences de contrôle traitées et interprétées dans l'ordre de leur réception. Au niveau de l'utilisateur, les flux de données PCL sont générés par un pilote d'impression. Des applications personnalisées peuvent également générer des sorties PCL.
- PCL 1 a été introduit en 1984 sur l' imprimante HP ThinkJet 2225 et offre une impression de texte et de graphiques de base avec une résolution maximale de 150 dpi (points par pouce).
- PCL 1+ a été lancé avec l'imprimante HP QuietJet 2227.
- PCL 2 a ajouté des fonctionnalités de traitement/transaction de données électroniques.
- La norme PCL 3 a été introduite en 1984 avec la première imprimante HP LaserJet . Elle a permis la prise en charge des polices bitmap et a porté la résolution maximale à 300 ppp. Parmi les autres produits compatibles avec PCL 3, on peut citer l' imprimante jet d'encre HP DeskJet , ainsi que les imprimantes matricielles HP série 2932 et HP RuggedWriter 2235. PCL 3 est encore utilisée sur plusieurs imprimantes à impact qui ont remplacé les anciens modèles HP.
- PCL 3+ (mono) et PCL 3c+ (couleur) sont utilisés sur les produits HP DeskJet et HP PhotoSmart plus récents.
- PCL 3GUI est utilisé dans les imprimantes HP DesignJet, certaines imprimantes des séries DeskJet et OfficeJet. Il utilise un format raster compressé incompatible avec la norme PCL 3.
- PCL 4 a été introduit sur l'imprimante HP LaserJet Plus en 1985, ajoutant des macros , des polices bitmap plus grandes et des graphiques. PCL 4 reste populaire pour de nombreuses applications.
- PCL 5 a été lancé sur le HP LaserJet III en mars 1990, ajoutant la mise à l'échelle des polices Intellifont (développée par Compugraphic , maintenant partie d' Agfa ), les polices de contour et les graphiques HP-GL/2 (vectoriels).
- PCL 5e (PCL 5 amélioré) a été lancé sur l'imprimante HP LaserJet 4 en octobre 1992 et a ajouté une communication bidirectionnelle entre l'imprimante et le PC et les polices Windows .
- PCL 5c a introduit la prise en charge des couleurs sur les HP PaintJet 300XL et HP Color LaserJet en 1992.
Présentation de PCL 6
HP a introduit PCL 6 vers 1995 avec les imprimantes HP LaserJet 5. Il se compose de :
- PCL 6 « Amélioré » : Un langage de programmation orienté objet optimisé pour l’impression depuis des interfaces graphiques telles que Windows et compressé pour optimiser le débit. Anciennement connu sous le nom de PCL XL ou PXL .
- Norme PCL 6 : Équivalente à PCL 5e ou PCL 5c, conçue pour assurer la rétrocompatibilité.
- Synthèse de polices : Fournit des polices évolutives, la gestion des polices et le stockage des formulaires et des polices.
L'architecture PCL 6 « améliorée » a été modifiée pour être plus modulaire et plus facilement adaptable aux futures imprimantes HP, afin d'imprimer plus rapidement des graphiques complexes, de réduire le trafic réseau et d'offrir une qualité supérieure. Lors des premières implémentations, HP n'a pas suffisamment communiqué sur PCL 6, ce qui a engendré une certaine confusion terminologique. PCL XL a été renommé PCL 6 amélioré, mais de nombreux produits tiers utilisent encore l'ancienne appellation.
Certains produits peuvent se déclarer compatibles PCL 6, mais ne pas assurer la rétrocompatibilité avec PCL 5. La norme PCL 6 Enhanced est principalement générée par les pilotes d'imprimante sous Windows et CUPS . De par sa structure et sa méthode de compression, les applications personnalisées l'utilisent rarement directement.
PCL 6 Enhanced est un protocole orienté objet basé sur une pile, similaire à PostScript . Cependant, contrairement à PostScript qui peut être envoyé sous forme de code binaire ou de texte brut, il est limité à l'encodage binaire. Les commandes et exemples de code en texte brut présentés dans la documentation de programmation PCL sont conçus pour être compilés avec un utilitaire tel que JetASM de HP avant d'être envoyés à une imprimante.
PCL 6 Enhanced est conçu pour correspondre au modèle de dessin de Windows GDI . Ainsi, le pilote d'imprimante Windows transmet simplement les commandes GDI avec très peu de modifications, ce qui permet un retour plus rapide à l'application. Microsoft a étendu ce concept avec son format XPS de nouvelle génération , et des implémentations XPS pour imprimantes sont en cours de développement. Ce concept n'est pas nouveau : il est comparable à Display PostScript et à Quartz d'Apple, et se distingue des imprimantes GDI qui envoient à l'imprimante une image bitmap compressée.
Révisions de la classe PCL 6
Classe 1.1
- Outils de dessin : Prise en charge du dessin de lignes, d'arcs/ellipses/cordes, de rectangles (arrondis), de polygones, de chemins de Bézier , de chemins découpés, d'images raster, de lignes de balayage, d'opérations raster.
- Gestion des couleurs : Prise en charge des palettes 1/4/8 bits et de l’espace colorimétrique RVB/niveaux de gris. Prise en charge des motifs de demi-teintes personnalisés (jusqu’à 256 motifs).
- Compression : Prend en charge RLE .
- Unités de mesure : pouce, millimètre, dixième de millimètre.
- Gestion du papier : Prise en charge des formats de papier personnalisés ou prédéfinis, notamment les formats Lettre, Légal, A4, etc. Alimentation manuelle, bacs et cassettes disponibles. Impression recto verso possible (horizontale ou verticale). Orientation du papier : portrait, paysage ou rotation à 180° des deux orientations précédentes.
- Polices : Prend en charge les polices bitmap ou TrueType, utilisant des points de code 8 ou 16 bits. Le choix du jeu de caractères utilise un code de jeu de symboles différent de celui de PCL 5. Lorsqu’une police bitmap est utilisée, de nombreuses commandes de mise à l’échelle sont indisponibles. Lorsqu’une police TrueType est utilisée, les descripteurs de longueur variable et les blocs de continuation ne sont pas pris en charge. Les polices vectorielles peuvent être pivotées, mises à l’échelle ou déformées.
Classe 2.0
- Compression : Ajout de la compression JPEG . JetReady, une variante propriétaire de compression de type JPEG optimisée pour le matériel à architecture entière, est utilisée dans certains modèles HP Color LaserJet (par exemple, les modèles 3500, 3550 et 3600). Ces modèles nécessitent des entrées de classe 3.0.
- Gestion du papier : Les supports peuvent être redirigés vers différents bacs de sortie (jusqu’à 256). Ajout des formats de support prédéfinis A6 et B6 (japonais). Ajout d’un troisième préréglage de cassette et de 248 sources de supports externes.
- Police : Le texte peut être écrit verticalement.
Classe 2.1
- Gestion des couleurs : Ajout d'une fonction de correspondance des couleurs.
- Compression : Ajout d'une ligne Delta.
- Gestion du papier : L’orientation et le format du support sont optionnels lors de la création d’une nouvelle page. Ajout des formats B5, JIS 8K, JIS 16K et JIS Exec.
Classe 2.2
- Compression : Ajout de JFIF .
Classe 3.0
- Gestion des couleurs : Permet d’utiliser différents paramètres de trame pour les graphiques vectoriels ou raster et le texte. Prend en charge la trame adaptative.
- Protocole : Prend en charge le transfert PCL, permettant l’utilisation des fonctionnalités PCL 5 par les flux PCL 6. Cependant, certains états PCL 6 ne sont pas préservés lors de l’utilisation de cette fonctionnalité.
- Police : Prend en charge les polices PCL.
Les imprimantes JetReady (CLJ 3500/3550/3600) utilisent des extensions non documentées mais exigent par ailleurs des entrées de classe 3.0.
Aperçu de PJL
Le langage PJL ( Printer Job Language ) a été introduit sur l'imprimante HP LaserJet IIIsi. PJL ajoute des commandes au niveau des tâches, telles que le changement de langage d'impression, la séparation des tâches, les commandes environnementales, le retour d'information sur l'état, la gestion de la présence du périphérique et les commandes du système de fichiers.