Recherche…


Remarques

PostScript est un langage de script dynamique, basé sur une pile, à typage dynamique, à typage dynamique, avec des primitives intégrées pour générer des images de rendu à partir de descriptions vectorielles. PostScript utilise le même "modèle d'image Adobe" que le format de fichier PDF.

PostScript est utilisé comme format de sortie par de nombreux programmes car il est conçu pour être facilement généré par une machine.

Comme le LISP, PostScript est homoiconique et le code et les données partagent la même représentation. Les procédures peuvent prendre les procédures comme des données et des procédures de rendement en tant que résultats, en se prêtant également aux techniques de la programmation concaténative .

Installation ou configuration

Les authentiques interpréteurs Adobe PostScript sont disponibles dans les imprimantes haut de gamme, le produit Display PostScript (DPS) et le produit Acrobat Distiller. En tant qu'auteurs du standard, ces produits sont considérés comme "l'implémentation standard" dans le but de décrire les différences entre les implémentations PostScript.

L'interface Standard de l'interpréteur définie dans le PLRM est le flux de programme qui peut être du texte ou du binaire, selon les détails du canal sous-jacent ou du système d'exploitation / contrôleur. Acrobat Distiller dispose d'une interface graphique utilisateur permettant de sélectionner le programme postscript en entrée et de rendre sa sortie en format pdf. Distiller a également un support limité pour utiliser le flux de texte de sortie pour signaler les erreurs et autres sorties de programme. GSView fournit une interface graphique similaire pour un workflow similaire en utilisant Ghostscript comme interpréteur.

Ghostscript et Xpost fonctionnent tous deux en mode ligne de commande. Le fichier programme postscript à exécuter peut être mentionné sur la ligne de commande ( gs program.ps ou xpost program.ps ) qui ouvrira une fenêtre graphique pour afficher la sortie graphique. Les options peuvent être utilisées pour rendre les graphiques ailleurs, comme un fichier disque, ou supprimer entièrement les graphiques et utiliser postscript comme un langage de script texte.

Les différents interprètes ont chacun leurs propres instructions d’installation et de configuration et il serait inutile de les reproduire ici (et risquerait d’être obsolètes).

Interprètes PostScript disponibles gratuitement

  • Ghostscript est disponible pour toutes les principales plates-formes et distributions Linux, sous forme source ou binaire, sous licence GNU ou sous d'autres accords de licence avec les auteurs, le logiciel Artifex . Ghostscript implémente la norme PostScript 3 complète.

  • Xpost est disponible sous forme de source pour toutes les principales plates-formes, sous la licence BSD-3-clause. Il implémente la norme de niveau 1 avec certaines extensions de niveau 2 et certaines extensions DPS.

Description générale de PostScript

PostScript est un langage de programmation général complet de Turing, conçu et développé par Adobe Systems. Beaucoup des idées qui ont fleuri dans PostScript ont été cultivées dans des projets pour Xerox et Evans & Sutherland.

Historiquement, sa principale application réelle est un langage de description de page ou, dans son fichier EPS à une seule page, un langage de description d’image vectoriel. Il est de type dynamique, à portée dynamique et basé sur une pile, ce qui conduit à une syntaxe essentiellement polonaise inversée.

Il existe trois versions principales de PostScript.

  1. PostScript Level 1 - il a été mis sur le marché en 1984 en tant que système d'exploitation résident de l'imprimante laser Apple LaserWriter, inaugurant l'ère de publication assistée par ordinateur.
  2. PostScript Level 2 - publié en 1991, il contenait plusieurs améliorations importantes au niveau 1, notamment la prise en charge de la décompression des images, la séparation in-RIP, les dictionnaires à croissance automatique, le nettoyage des données, les
  3. PostScript 3 - la version la plus récente et peut-être la plus largement adoptée a été publiée en 1997. Elle contient également plusieurs améliorations d’importation par rapport au niveau 2, telles que Smooth Shading. Le terme «niveau» a été supprimé.

Bien que PostScript soit généralement utilisé comme langage de description de page - et donc implémenté dans de nombreuses imprimantes pour générer des images raster - il peut également être utilisé à d’autres fins. Comme une calculatrice rapide inversée avec des noms d'opérateurs plus mémorables que bc . En tant que format de sortie généré par un autre programme (généralement dans une autre langue).

Bien que les fichiers PostScript soient généralement des fichiers ASCII à 7 bits, il existe plusieurs types de codage binaire décrits dans la norme de niveau 2. Etant programmable, un programme peut implémenter lui-même son propre schéma de codage complexe. Il existe un concours international de PostScript obscurci, un peu moins actif que le C.

Références en ligne

FAQ

Livres

  • Manuel de référence du langage Postscript, 1ed, 1985. Recommandé pour sa petite taille et son index opérateur simple à partir des pages de résumé (absent des éditions ultérieures).

  • PostScript du monde réel. Chapitres de divers auteurs sur divers sujets, y compris une excellente couverture des demi-teintes.

Espaces de noms locaux pour les fonctions

Postscript est un langage dynamique ou un langage LISP 1 . Mais il fournit les outils pour implémenter des variables locales dans les procédures et d'autres effets nécessaires pour implémenter des algorithmes.

Pour les noms locaux dans une procédure, créez un nouveau dictionnaire au début et affichez-le à la fin.

/myproc {
    10 dict begin
    %... useful code ...
    end
 } def

Vous pouvez également combiner cela avec un raccourci pour définir les arguments de la fonction en tant que variables.

% a b c  myproc  result
/myproc {
    10 dict begin
    {/c /b /a} {exch def} forall
    %... useful code yielding result ...
    end
 } def

Si vous devez mettre à jour une variable * "global" * alors que le dictionnaire local est en haut, utilisez store au lieu de def .

Bonjour exemple mondial

Sélectionnez une police et une taille de police, sélectionnez l'emplacement, show chaîne.

%!PS
/Palatino-Roman 20 selectfont
300 400 moveto
(Hello, World!) show
showpage

Notes et pièges courants:

  • Échec de la définition d'une police (résultant en une absence de texte ou une police par défaut (moche))

  • Utiliser findfont et setfont mais en oubliant scalefont entre les deux. L'utilisation de selectfont niveau 2 évite ce problème et est plus concis.

  • Ne pas définir un point avec moveto ou définir le point en dehors de la page. Pour les États-Unis, le papier 8.5x11 fait 792x612 points de repère. Il est donc facile de se rappeler à peu près 800x600 (mais une odeur plus courte et plus large). Donc, 300 400 est à peu près le centre de la page (peu élevé, peu gauche).

  • Oublier d'appeler showpage . Si vous prévisualisez un programme ps avec gs et qu'il ne se termine pas par showpage , gs peut afficher une image pour vous. Et pourtant, le fichier échouera mystérieusement lorsque vous essayez de convertir en pdf ou autre chose.

Programme scolaire

Lisez la documentation dans cet ordre pour apprendre facilement postscript:

  1. Excellent tutoriel de Paul Bourke: http://paulbourke.net/dataformats/postscript/

  2. Blue Book, premier semestre, le tutoriel officiel original:
    http://www-cdf.fnal.gov/offline/PostScript/BLUEBOOK.PDF

  3. Livre vert, comment utiliser efficacement PostScript:
    http://www-cdf.fnal.gov/offline/PostScript/GREENBK.PDF

  4. Penser en Postscript, "Nuff a dit: http://wwwcdf.pd.infn.it/localdoc/tips.pdf

  5. Illustrations mathématiques . Commencez petit, construisez grand. Les maths derrière les courbes de Bezier. L'algorithme de découpage de polygones Hodgman-Sutherland. Transformations affines et transformations non linéaires du chemin. Dessin 3D et dégradé de Gouraud. De la préface:

Lequel [des nombreux outils pour aider à produire des graphiques mathématiques] à choisir implique apparemment un compromis entre simplicité et qualité, dans lequel la plupart vont vers ce qu'ils perçoivent comme étant la simplicité. La vérité est que le compromis est inutile - une fois que l'on a fait un petit investissement initial d'effort, la meilleure chose à faire dans la plupart des situations est d'écrire un programme dans le langage de programmation graphique PostScript. La qualité de la sortie d'un programme PostScript est pratiquement illimitée et, à mesure que l'on acquiert de l'expérience, les difficultés d'utilisation du langage diminuent rapidement. La complexité apparente de la production de figures simples par programmation en PostScript, comme j'espère que ce livre le démontrera, est en grande partie une illusion. Et la quantité de travail nécessaire pour produire des chiffres plus compliqués ne sera généralement ni plus ni moins que ce qui est nécessaire.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow