PostScript encapsulé (.eps)
Adobe StandardEncapsulated PostScript (EPS) est la norme historique d'échange vectoriel d'Adobe basée sur le langage de programmation PostScript, qui a été pendant des décennies la référence pour le pré-presse d'impression commerciale et l'illustration vectorielle.
Inspecter et métadonnées
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers EPS en inspectant la séquence d'octets binaires de tête :
Signature d'en-tête au niveau des octets (Magic Bytes)
Les systèmes d'exploitation et les analyseurs de fichiers identifient les fichiers EPS en inspectant la séquence d'octets binaires de tête :
SIGNATURE HEXADÉCIMALE (DÉCALAGE 0) :
25 21 50 53 2D 41 64 6F 62 65REPRÉSENTATION ASCII : %!PS-Adobe
Normalisation : Adobe Encapsulated PostScript File Format Specification v3.0
Spécifications techniques
| Architecture de conteneur | Flux de texte de programme PostScript conforme aux conventions de structuration de documents (DSC) avec en-tête de prévisualisation binaire TIFF/WMF optionnel |
| Compression | Filtres PostScript : FlateDecode, LZWDecode, ASCII85Decode, RunLengthDecode |
| Boutisme des octets | Gros-boutiste (en-tête binaire) / Flux de programme PostScript ASCII |
| Espaces colorimétriques | DeviceCMYK, DeviceRGB, Couleurs directes (Pantone), Espaces colorimétriques PostScript CIE |
| Canaux et structure | Commandes de description de page vectorielle Turing-complètes, typographie et images raster intégrées |
| Dimensions maximales | Défini par les commentaires DSC BoundingBox (unité en points : 1/72 de pouce) |
| Transparence | Pas de transparence native du canal alpha (nécessite un aplatissement ou des modes de fusion PostScript 3) |
| Streaming et progressif | Non diffusable ; nécessite l'exécution complète d'un interpréteur PostScript pour calculer l'état de la page |
Matrice de comparaison technique : EPS vs Concurrents
| Attribut technique | EPS (Actuel) | SVG | AI | |
|---|---|---|---|---|
| Architecture | Code PostScript Turing-complet | Graphe d'objets structuré (norme ISO) | Norme vectorielle W3C XML DOM | Fichier propriétaire Adobe Illustrator |
| Transparence Alpha | Aucune (rasters opaques aplatis) | Prise en charge complète de l'alpha et des modes de fusion | Prise en charge complète de l'alpha CSS et SVG | Prise en charge complète de l'alpha multicouche |
| Prise en charge par les navigateurs modernes | Zéro prise en charge native par le navigateur | Visionneuses PDF natives dans tous les navigateurs | 100 % natif en ligne dans tous les navigateurs | Aucun (nécessite une conversion) |
| Prépondérance en pré-presse | Chemin de fer du pré-presse historique (1987-2005) | Norme de pré-presse moderne (PDF/X) | Conception Web et UI numérique | Maître de conception vectorielle actif |
Modes de corruption courants et guide de récupération hexadécimale
Erreur PostScript 'undefined; OffendingCommand: ...' lors de l'impression ou de la rastérisation.
Cause racine: Définition de police manquante ou définitions de procédures PostScript tronquées dans le flux du document.
Récupération: Convertissez au format SVG ou PDF moderne à l'aide du transcodeur PostScript File2File.
Analyse de sécurité et vecteurs d'attaque de l'analyseur
L'EPS étant un code PostScript exécutable, des fichiers EPS malveillants peuvent provoquer une exécution de code à distance dans des interpréteurs vulnérables tels que Ghostscript.
Vecteurs d'attaque connus
- Vulnérabilités de contournement du bac à sable Ghostscript '-dSAFER' permettant l'exécution de commandes shell arbitraires.
- Corruption de mémoire dans les évaluateurs de pile et de dictionnaire PostScript non durcis.
- Dépassement de tampon dans les en-têtes de prévisualisation binaires TIFF/WMF intégrés.
Bonnes pratiques de défense: N'exécutez jamais de fichiers EPS sur des systèmes d'exploitation natifs ; transcodez-les en SVG/PDF dans des environnements WebAssembly isolés et non privilégiés.
Origines historiques et jalons
Principaux avantages
- Évolutivité vectorielle mathématique irréprochable et précision de la séparation des couleurs directes (Pantone) pour les presses d'impression commerciale.
- Pris en charge par la quasi-totalité des logiciels d'éditique anciens et professionnels jamais créés.
- Les capacités graphiques Turing-complètes permettent de générer mathématiquement des fractales complexes et des courbes algorithmiques.
Limites techniques
- Risques de sécurité : PostScript est un langage de programmation exécutable capable de déclencher des opérations sur le système de fichiers dans les interpréteurs hérités.
- Pas de transparence alpha native : les ombres portées transparentes et les effets de verre doivent être aplatis en tranches matricielles.
- Microsoft Office et les navigateurs Web modernes ont abandonné la prise en charge d'EPS en raison d'un historique de vulnérabilités impossibles à corriger.
Anecdotes techniques
- Un fichier EPS est littéralement un programme informatique exécutable écrit en PostScript qui indique à une imprimante comment dessiner l'image.
- De nombreux fichiers EPS contiennent une vignette TIFF ou Windows Metafile (WMF) basse résolution à l'intérieur d'un en-tête binaire pour permettre aux maquettistes de les positionner sans exécuter d'interpréteur PostScript.
- L'invention de PostScript et d'EPS par John Warnock a propulsé Adobe Systems dans le classement Fortune 500.
Foire aux questions techniques
Pourquoi ne puis-je plus insérer de fichiers EPS dans Microsoft Office ?
Microsoft a définitivement désactivé la prise en charge d'EPS dans Microsoft 365 et Office en raison de vulnérabilités de sécurité critiques récurrentes dans les analyseurs PostScript tiers.
Comment puis-je convertir un EPS en SVG ou en PDF ?
Vous pouvez convertir en toute sécurité des fichiers EPS en graphiques vectoriels SVG ou PDF propres et modernes à l'aide de File2File.app directement dans votre navigateur Web.
Quelle est la différence entre EPS et PostScript (.ps) ?
Un fichier .ps standard décrit des documents complets de plusieurs pages, tandis qu'un fichier .eps décrit un graphique unique conçu pour être « encapsulé » (inséré) dans d'autres documents, délimité par une BoundingBox.