Document Structuring Conventions ( DSC ) est un ensemble de normes pour PostScript , basé sur l'utilisation de commentaires , qui spécifie une manière de structurer un fichier PostScript et une manière d'exposer cette structure de manière lisible par machine. Un fichier PostScript conforme à DSC est appelé un document conforme .
La nécessité d'une convention de structuration est due au fait que PostScript est un langage de programmation Turing-complet . Il n'existe donc aucune méthode garantie — à part l'impression réelle du document — pour effectuer des tâches telles que déterminer le nombre de pages d'un document donné ou la taille d'une page donnée, ou encore comment passer directement à une page particulière. L'ajout d'une structure, avec des commentaires DSC exposant cette structure, permet par exemple à un spouleur d'impression intelligent de pouvoir réorganiser les pages pour l'impression, ou à un programme de mise en page de trouver le cadre de délimitation d'un fichier PostScript utilisé comme image graphique. Collectivement, tout programme de ce type qui prend des fichiers PostScript comme données d'entrée est appelé un gestionnaire de documents .
Pour qu'un fichier d'impression PostScript soit correctement converti en PDF à l'aide des outils Adobe, il doit être conforme aux normes DSC de base.
Certains commentaires DSC remplissent une deuxième fonction, en spécifiant une manière d'indiquer au gestionnaire de documents d'effectuer certaines opérations, comme l'insertion d'une police ou d'un autre code PostScript (appelés collectivement ressources ) dans le fichier. Les commentaires DSC qui remplissent cette deuxième fonction s'apparentent davantage à des directives de prétraitement et ne sont pas de simples commentaires. Les documents utilisant ce type de commentaires DSC nécessitent un gestionnaire de documents fonctionnel pour être rendus comme prévu ; les envoyer directement à une imprimante ne fonctionnera pas.
DSC est la base du PostScript encapsulé (EPS) : les fichiers EPS sont des documents conformes aux normes DSC avec des restrictions supplémentaires.
L'ensemble des commentaires DSC peut être étendu par un mécanisme appelé Open Structuring Conventions, qui, avec la spécification EPS, constituent la base des premières versions du format de fichier Adobe Illustrator Artwork .
DSC en un coup d'oeil
Le principe de base de DSC est la séparation du prologue (définitions statiques) et du script ( code qui affecte la sortie imprimée spécifique à un travail), ainsi que l'interdiction de certains opérateurs PostScript jugés inappropriés pour les descriptions de page. Cela garantit un niveau de prévisibilité de base dans le code PostScript, constituant ainsi la base de la gestion des documents.
Une couche supplémentaire facultative de gestion des documents est fournie en séparant le script en une section de configuration de document , zéro ou plusieurs pages fonctionnellement indépendantes et une fin facultative (code de nettoyage). (« Zéro page » dans DSC signifie généralement « une page sans l'utilisation de l'opérateur PostScript 'showpage'. ») L'indépendance fonctionnelle entre les pages, ainsi que l'interdiction d'un plus grand nombre d'opérateurs PostScript dans la section des pages, constituent la base de l'indépendance des pages , qui permet de réorganiser les pages et d'y accéder de manière indépendante et aléatoire.
Cette structure imposée est ensuite exposée en délimitant le fichier PostScript avec des commentaires DSC , qui commencent normalement par deux signes de pourcentage suivis d'un mot-clé. Certains mots-clés doivent être suivis de deux points, d'un caractère d'espace facultatif, puis d'une série d' arguments .
Enfin, le document est marqué comme conforme en le commençant par un commentaire commençant par « %!PS-Adobe- » suivi du numéro de version DSC.
Des sections de code PostScript réutilisables peuvent être modularisées en procsets (ensembles de procédures, correspondant à des bibliothèques de fonctions dans d'autres langages de programmation), afin de faciliter la génération de code PostScript. Les procsets et autres ressources PostScript (par exemple, les polices) peuvent être omis du fichier PostScript lui-même et référencés en externe par un commentaire DSC de type directive ; un tel référencement externe, cependant, ne peut fonctionner qu'avec un gestionnaire de documents qui comprend de tels commentaires DSC.
La version 3.0 de DSC a été publiée le 25 septembre 1992. La spécification stipule : « Même si les commentaires DSC constituent une couche de communication au-delà du langage PostScript et n'affectent pas la sortie finale, leur utilisation est considérée comme un bon style de programmation en langage PostScript. » Ainsi, la plupart des programmes produisant du PostScript génèrent des commentaires conformes à DSC avec le code, bien que certains de ces programmes ne produisent pas réellement de documents conformes.
Exemple
Un document conforme à DSC (celui-ci généré par dvips ) pourrait commencer :
%!PS-Adobe-2.0 %%Créateur : dvips(k) 5.95a Copyright 2005 Radical Eye Software %%Titre : texput.dvi %%Pages: 1 %%PageOrder : Ascendant %%BoundingBox : 0 0 612 792 %%DocumentPaperSizes : Lettre %%Fin des commentaires
qui a la signification suivante :
- marque le document comme étant conforme à la version 2.0 du DSC
- identifie le programme produisant PostScript comme dvips 5.95a
- identifie le titre du document
- indique au gestionnaire de documents que le document se compose d'une page
- indique au gestionnaire de documents que les pages sont indépendantes (c'est-à-dire qu'elles ne sont pas dans un ordre spécial) et apparaissent dans l'ordre croissant dans le document ; dans cet exemple, étant donné que le document ne comporte qu'une seule page, cette information n'est généralement pas pertinente, mais sera nécessaire si des pages supplémentaires doivent être insérées par un gestionnaire de documents
- indique au gestionnaire de documents les coordonnées, mesurées en points PostScript , du cadre de délimitation de toutes les pages prises ensemble ; 0 0 612 792 correspond aux coordonnées d'une page au format Lettre US
- indique au gestionnaire de documents quels types de formats de papier sont utilisés dans l'ensemble du document ; dans cet exemple, un seul format est utilisé, à savoir le format Lettre US
- marque la fin du prologue