Dernière mise à jour : 20 Février, 2025

Titre - PostScript : Une Explication Claire

Qu’est-ce que PostScript ?

PostScript (PS) est un langage de description de page (PDL) développé par Adobe Systems en 1982. Il est principalement utilisé dans la publication assistée par ordinateur, l’impression et le design graphique pour décrire comment le texte et les images doivent être rendus sur une page.

PostScript : Caractéristiques et Applications

Explication de PostScript (PS)

PostScript (PS) est à la fois un langage de description de page (PDL) et un langage de programmation qui est dynamique typé et basé sur une pile. Voici ce que cela signifie :

1. Qu’est-ce qu’un Langage de Description de Page (PDL) ?

Un langage de description de page définit comment les graphiques et le texte apparaissent sur une page imprimée ou un écran. PostScript est utilisé dans les imprimantes, logiciels de publication et composition numérique pour rendre avec précision les polices, images et mises en page.

2. Qu’est-ce qu’un Langage de Programmation Basé sur une Pile ?

PostScript utilise une pile pour traiter les commandes, ce qui signifie qu’il suit une approche Dernier Entré, Premier Sorti (LIFO). Par exemple, pour ajouter deux nombres en PostScript, vous les poussez sur la pile puis appelez un opérateur pour les traiter :

10 20 add

Cela pousse 10 et 20 sur la pile, puis la commande add les retire et pousse le résultat (30) de retour sur la pile.

3. Typage Dynamique

PostScript ne requiert pas de définitions de type explicites. Les variables peuvent contenir différents types (nombres, chaînes, tableaux, etc.) sans types prédéfinis.

4. Utilisations de PostScript

PostScript est principalement utilisé pour la publication assistée par ordinateur et l’édition électronique, ce qui signifie qu’il aide à créer et imprimer des documents de haute qualité avec un contrôle précis sur les polices, la mise en page et les graphiques.

5. Langage Turing Complet

Être Turing complet signifie que PostScript peut, en théorie, réaliser n’importe quel calcul avec assez de mémoire et de temps. Cela signifie qu’il peut être utilisé pour des tâches de programmation générale, pas seulement pour imprimer.

6. Histoire et Développement

  • Développé par Adobe Systems entre 1982 et 1984.
  • Créé par John Warnock, Charles Geschke, Doug Brotz, Ed Taft, et Bill Paxton.
  • La dernière version, PostScript 3, a été publiée en 1997 et a ajouté de meilleures performances, une gestion des couleurs et une compression des images.

Histoire de PostScript

Les origines de PostScript remontent à 1976, lorsque John Gaffney chez Evans & Sutherland a développé des concepts pour un langage de description de page en travaillant sur une base de données graphique. Au même moment, Xerox PARC développait des imprimantes laser et avait besoin d’un standard pour définir les images de page. Ils ont d’abord créé le format Press, qui a évolué plus tard en Interpress en 1978, développé par John Gaffney et Martin Newell.

L'évolution et l'Impact de PostScript

En 1982, John Warnock et Chuck Geschke quittent Xerox PARC et co-fondent Adobe Systems, où ils, avec Doug Brotz, Ed Taft, et Bill Paxton, développent PostScript comme une alternative plus simple à Interpress. Il a été commercialisé en 1984.

Rôle d’Apple dans le Succès de PostScript

En 1983, Steve Jobs a vu le potentiel de PostScript pour le Macintosh et l’a licencié d’Adobe pour 1,5 million de dollars, plus 2,5 millions pour 20% des actions d’Adobe. Il a également tenté, sans succès, d’acheter Adobe. Apple et Adobe ont ensuite travaillé ensemble pour optimiser PostScript pour l’imprimante LaserWriter d’Apple — lancée en 1985 — qui a joué un rôle crucial dans la révolution de la publication assistée par ordinateur.

La percée d’Adobe dans le rendu et le hinting des polices a rendu PostScript viable même sur des imprimantes laser Canon 300-dpi de basse résolution. Adobe n’a pas breveté cette technologie pour la garder secrète.

Déclin et Héritage de PostScript

Pendant les années 1980 et 1990, PostScript a été largement utilisé dans les imprimantes laser, mais sa puissance de traitement élevée et ses besoins en mémoire le rendaient coûteux. Au fur et à mesure que les imprimantes devenaient moins chères et les ordinateurs plus puissants, les solutions logicielles ont remplacé le traitement matériel de PostScript. En 2001, la plupart des imprimantes bas de gamme ont abandonné le support PostScript en faveur de la technologie à jet d’encre et du rendu logiciel.

Cependant, PostScript reste dominant dans les imprimantes professionnelles haut de gamme, où il décharge le rendu de l’ordinateur à l’imprimante, améliorant les performances. De plus, le PDF (Portable Document Format) — un descendant direct de PostScript — est devenu la norme pour la distribution de documents électroniques.

Niveaux de PostScript

PostScript a évolué à travers différents niveaux, chacun améliorant la fonctionnalité, la performance et l’efficacité. Il y a trois niveaux majeurs:

Évolution des Niveaux de PostScript

1. PostScript Niveau 1 (1984)

La version originale de PostScript (Niveau 1, publiée en 1984) permettait aux utilisateurs de contrôler précisément la mise en page avec texte, graphiques, et images, et était utilisée dans les premières imprimantes laser. Cependant, elle était limitée au niveaux du gris, traitait lentement les graphiques complexes et produisait de grands fichiers en raison du manque de compression d’image.

  • Version originale, publiée par Adobe en 1984.
  • Proposait des descriptions de pages indépendantes de l’appareil pour le texte, les graphiques et les images.
  • Permettait un contrôle précis de la typographie et de la mise en page.
  • Utilisée dans les premières imprimantes PostScript, y compris la LaserWriter d’Apple.
  • Limitations :
    • Absence de support de la couleur (seulement niveaux de gris).
    • Traitement lent des graphiques complexes.
    • Pas de compression d’image intégrée, ce qui conduit à de grandes tailles de fichiers.

2. PostScript Niveau 2 (1991)

Le Niveau 2 PostScript (1991) a amélioré les performances, ajouté l’impression en couleurs, compressé les fichiers, amélioré les polices et accéléré le traitement des graphiques complexes.

  • Amélioration de la performance et de l’efficacité de la mémoire.
  • Ajout du support pour l’impression en couleur (CMJN et couleurs directes).
  • Introduction de la compression des données pour réduire la taille des fichiers.
  • Amélioration de la gestion des polices (Polices Type 1 et Type 3).
  • Introduction des motifs, des formes et des polices composites pour un meilleur rendu du texte.
  • Traitement plus rapide des graphiques complexes par rapport au Niveau 1.

3. PostScript 3 (1997)

PostScript 3 (1997) était une mise à jour majeure avec un rendu plus rapide, une meilleure gestion des couleurs, un support pour l’impression à très haute résolution, des polices améliorées et des effets graphiques améliorés. Bien que maintenant moins courant, il est encore utilisé dans certaines impressions haut de gamme.

  • Mise à jour majeure avec un rendu plus efficace.
  • Gestion des couleurs améliorée avec des profils ICC.
  • Support amélioré pour l’impression haute résolution (au-delà de 2400 dpi).
  • Meilleure gestion des polices, y compris le support des polices Multiple Master.
  • Plus de transparence et d’effets d’ombrage (meilleur rendu graphique).
  • Remplacé par des workflows basés sur le PDF dans la publication moderne mais encore utilisé dans les imprimantes haut de gamme.

PostScript dans l’Impression

Avant PostScript :

  • Les premières imprimantes n’imprimaient que des caractères de texte, généralement en ASCII, avec des glyphes fixes (par exemple : touches de machine à écrire, bandes métalliques ou plaques optiques).
  • Les imprimantes à matrice de points ont introduit des polices sélectionnables et des chargements de glyphes personnalisés, ainsi que des graphiques raster de base via des séquences d’échappement, mais nécessitaient des pilotes spécifiques pour chaque modèle d’imprimante.
  • Les graphiques vectoriels étaient gérés par les traceurs (par exemple, basés sur HPGL), mais ceux-ci étaient lents, coûteux et limités aux graphiques.

Impression PostScript :

  • Les imprimantes laser combinaient les forces des imprimantes à matrice de points et des traceurs, permettant un texte et des graphiques de haute qualité sur la même page.
  • PostScript unifiait le contrôle de l’impression avec une seule langue indépendante de l’appareil qui fonctionnait sur différentes imprimantes et logiciels.
  • Contrairement aux langages de contrôle des imprimantes traditionnels, PostScript est un langage de programmation complet, permettant un rendu précis des documents.
  • Rasterisation à la volée : PostScript définit tout (y compris le texte) en utilisant des lignes droites et des courbes de Bézier, permettant des rescalages, rotations et transformations fluides.
  • Les interprètes PostScript, appelés processeurs d’images raster (RIP), convertissent les instructions en points nécessaires pour la sortie finale.

Gestion des Polices PostScript

Le système de polices de PostScript utilise des formes graphiques de base pour créer des glyphes redimensionnables, permettant aux polices d’être redimensionnées sans perdre en qualité. Le hinting des polices est utilisé pour garantir que les polices restent claires et lisibles même à petite taille ou faible résolution. Les polices PostScript sont stockées dans divers formats spécialisés “Type”, chacun offrant des capacités différentes.

Évolution des Polices PostScript

Système de Polices PostScript

  • Utilise des primitives graphiques pour définir des glyphes redimensionnables.
  • Le hinting des polices garantit un rendu de haute qualité, même à faible résolution.
  • Les polices étaient stockées dans des formats Type spécialisés avec différentes capacités.

Types de Polices PostScript

PostScript offrait divers formats de polices. Les polices Type 1 de haute qualité d’Adobe étaient initialement sous licence, tandis que les polices Type 3, dépourvues de hinting standardisé, étaient utilisées par d’autres. Les formats Type 2 et CFF ont réduit les tailles de fichiers et préparé le terrain pour OpenType. Les polices à clés CID ont pris en charge de grands ensembles de caractères asiatiques et pouvaient utiliser soit des structures Type 1 soit Type 2.

  • Police Type 1 (T1) :

    • Format de police compressé & chiffré propriétaire d’Adobe.
    • Utilisé pour des polices de haute qualité avec hinting.
    • Adobe a initialement licencié la technologie Type 1 pour une redevance.
  • Police Type 3 (T3) :

    • Autorisait toutes les fonctionnalités de PostScript, mais manquait de hinting standardisé.
    • Utilisé par ceux qui ne pouvaient pas obtenir la licence de technologie Type 1.
  • Police Type 2 (T2) & Format de Police Compact (CFF) :

    • Réduction de la taille des fichiers de polices pour plus d’efficacité.
    • Est devenu la base des polices OpenType.
  • Polices à Clés CID :

    • Conçues pour de grands ensembles de caractères asiatiques (CJK) avec de grands espaces d’encodage.
    • Pouvaient utiliser Type 1 ou Type 2 pour différentes structures de polices.

Évolution du Format des Polices

Apple a créé les polices TrueType pour rivaliser avec les polices d’Adobe. Cela a amené Adobe à partager le fonctionnement de leurs polices. Plus tard, Adobe et Microsoft se sont associés pour créer les polices OpenType, qui combinaient le meilleur de chaque format et sont devenues le format standard de polices que nous utilisons aujourd’hui.

  • TrueType (1991) :

    • Développé par Apple comme un concurrent au système d’Adobe.
    • Obligé Adobe à publier la spécification Type 1 pour un usage public.
  • OpenType (Fin des années 1990) :

    • Développé conjointement par Adobe & Microsoft.
    • Unification des fonctionnalités Type 1 et TrueType.
    • Devenu le standard de l’industrie pour les polices modernes.

Fin du Support Type 1

  • Adobe a officiellement mis fin au support des polices Type 1 en janvier 2023 en faveur d’OpenType.

Format de Document Portable (PDF) et PostScript

PDF vs. PostScript

Le PDF et le PostScript sont deux formats de documents produisant une sortie imprimée identique car ils utilisent le même système graphique sous-jacent. La différence clé réside dans leur structure : le PostScript est un langage de programmation à part entière, permettant des opérations dynamiques, tandis que le PDF est un format plus simplifié et statique conçu pour une visualisation et une navigation efficaces. Malgré ces différences, il est possible de convertir des fichiers entre les deux formats.

Comprendre PostScript et PDF
  • Modèle d’Imagerie Similaire – Les deux, PDF et PostScript utilisent le même système graphique, garantissant une sortie imprimée identique.
  • Quelle est la Différence ?
    • PostScript est un langage de programmation Turing-complet capable d’opérations dynamiques.
    • PDF est une structure de données statiques, optimisée pour un accès et une navigation efficaces, ce qui le rend meilleur pour une visualisation interactive.
  • Convertibilité Mutuelle – Les fichiers PDF peuvent être convertis en PostScript, et vice versa.

Le Langage PostScript

PostScript est un langage de programmation basé sur une pile avec un typage dynamique, semblable à Forth mais avec des structures de données similaires à celles de Lisp. Il utilise la notation polonaise inversée, nécessitant une gestion attentive de la mémoire. PostScript utilise des tableaux et des dictionnaires, gère le typage à l’exécution et inclut une collecte des déchets. Les commentaires commencent par “%”, et les programmes commencent généralement par “%!PS”.

  • Turing-Complet & Basé sur une Pile – Similaire à Forth, mais avec un typage dynamique et des structures de données similaires à Lisp.
  • Notation Polonaise Inversée (RPN) – Les opérateurs agissent sur une pile, nécessitant une gestion attentive.
  • Gestion de la Mémoire
    • Utilise une mémoire à portée.
    • Introduite la collecte des déchets dans PostScript Niveau 2.
  • Structures de Données
    • Utilise des tableaux & dictionnaires.
    • Pas de déclarations de type formelles — le typage est géré à l’exécution.
  • Commentaires & Structure des Programmes
    • % introduit des commentaires.
    • Les programmes commencent typiquement avec "%!PS" pour indiquer le format PostScript.

Comment PostScript est Utilisé

  • Principalement généré par logiciel, plutôt qu’écrit manuellement.
  • Peut être utilisé comme un langage de programmation à part entière pour l’automatisation.
  • Interprété par imprimantes (RIPs) ou visionneuses à l’écran.

Exemple d’un Fichier PostScript Simple

Voici un exemple simple d’un fichier PostScript (.ps) qui imprime “Bonjour, le monde!” sur une page :

%!PS
/Times-Roman findfont 24 scalefont setfont
100 700 moveto
(Bonjour, le monde!) show
showpage

Explication :

  1. %!PS → Identifie le fichier comme un document PostScript.
  2. /Times-Roman findfont 24 scalefont setfont → Sélectionne la police Times-Roman à la taille 24.
  3. 100 700 moveto → Déplace le curseur aux coordonnées (100, 700) sur la page.
  4. (Bonjour, le monde!) show → Imprime “Bonjour, le monde!” à la position spécifiée.
  5. showpage → Indique à l’imprimante d’imprimer la page.

Vous pouvez enregistrer ceci sous le nom bonjour.ps et l’ouvrir avec un visualiseur de PostScript (par exemple : GSview, Ghostscript) ou l’envoyer à une imprimante PostScript.

Bonjour.ps Après Rendu

Titre - Bonjour.ps Après Rendu

Liste de Logiciels pour Rendre PostScript

Visionneuses & Interprètes PostScript

  1. Ghostscript (Open-source) – Interprète populaire pour PostScript et PDF.
  2. GSview – Interface graphique pour Ghostscript.
  3. MuPDF – Visionneuse légère supportant PostScript et PDF.
  4. Xpdf – Visionneuse PDF open-source avec un certain support PostScript.
  5. Evince – Visionneuse de documents GNOME pouvant gérer les fichiers PostScript.
  6. Okular – Visionneuse de documents KDE avec support PostScript.
  7. Apple Preview – Visionneuse intégrée macOS supportant PostScript & PDF.

Imprimantes & Rasteriseurs PostScript

  1. Adobe Acrobat Distiller – Convertit PostScript en PDF de haute qualité.
  2. CUPS (Common Unix Printing System) – Gère l’impression PostScript sur Unix/Linux.
  3. PPR (Printer Production Release) – Spouleur et rendu PostScript.

Logiciel de Graphiques Vectoriels & PAO

  1. Adobe Illustrator – Peut ouvrir & éditer des fichiers PostScript.
  2. CorelDRAW – Supporte PostScript pour les graphiques vectoriels.
  3. Scribus – Logiciel de publication assistée par ordinateur open-source avec support PostScript.
  4. Inkscape – Peut importer/exporter PostScript (via Ghostscript).

Outils en Ligne de Commande & de Conversion

  1. ps2pdf (partie de Ghostscript) – Convertit PostScript en PDF.
  2. pstopdf (outil en ligne de commande macOS) – Convertit PostScript en PDF.
  3. ImageMagick – Peut rendre les fichiers PostScript en images.