PostScript encapsulado (.eps)
Adobe EstándarEncapsulated PostScript (EPS) es el antiguo estándar de Adobe para intercambiar gráficos vectoriales, basado en el lenguaje de programación PostScript. Durante décadas fue el formato de referencia para la preimpresión comercial y la ilustración vectorial.
Inspección y metadatos
Los sistemas operativos y analizadores de archivos identifican los archivos de EPS inspeccionando la secuencia de bytes binarios inicial:
Firma de cabecera a nivel de bytes (bytes mágicos)
Los sistemas operativos y analizadores de archivos identifican los archivos de EPS inspeccionando la secuencia de bytes binarios inicial:
FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):
25 21 50 53 2D 41 64 6F 62 65REPRESENTACIÓN ASCII: %!PS-Adobe
Estandarización: Adobe Encapsulated PostScript File Format Specification v3.0
Especificaciones técnicas
| Arquitectura del contenedor | Flujo de texto de programa PostScript conforme a las convenciones de estructuración de documentos (DSC), con una cabecera opcional de vista previa TIFF/WMF binaria |
| Compresión | Filtros PostScript: FlateDecode, LZWDecode, ASCII85Decode, RunLengthDecode |
| Orden de bytes (Endianness) | Big-endian (cabecera binaria) o flujo de programa PostScript ASCII |
| Espacios de color | DeviceCMYK, DeviceRGB, Tintas planas (Pantone), Espacios de color PostScript CIE |
| Canales y estructura | Comandos vectoriales de descripción de página capaces de realizar cálculos, tipografía e imágenes ráster incrustadas |
| Dimensiones máximas | Definido por los comentarios DSC de BoundingBox (la unidad de medida es el punto: 1/72 de pulgada) |
| Transparencia | No admite transparencia alfa de forma nativa (requiere acoplar las transparencias o usar modos de fusión de PostScript 3) |
| Streaming y progresivo | No admite procesamiento en streaming; se necesita ejecutar todo el intérprete PostScript para calcular el estado de la página. |
Matriz de comparación técnica: EPS frente a la competencia
| Atributo técnico | EPS (Actual) | SVG | AI | |
|---|---|---|---|---|
| Arquitectura | Código PostScript completo en sentido de Turing | Grafo de objetos estructurado (estándar ISO) | Estándar vectorial DOM XML del W3C | Archivo propietario de Adobe Illustrator |
| Transparencia alfa | Ninguna (imágenes ráster opacas acopladas) | Soporte completo de alfa y modos de fusión | Soporte completo de alfa para CSS y SVG | Soporte completo de alfa multicapa |
| Soporte de navegadores modernos | No tiene compatibilidad nativa con navegadores | La compatibilidad varía según el navegador y la aplicación. | La compatibilidad varía según el navegador y la aplicación. | Ninguno (requiere conversión) |
| Precedencia en preimpresión | Herramienta de preimpresión clásica (1987-2005) | Estándar de preimpresión moderno (PDF/X) | Diseño de interfaz de usuario web y digital | Archivo maestro de diseño vectorial editable |
Modos de corrupción comunes y guía de recuperación hexadecimal
Error de PostScript «undefined; OffendingCommand: ...» durante la impresión o la rasterización.
Causa raíz: Falta la definición de una fuente o se truncaron las definiciones de procedimientos PostScript en el flujo del documento.
Recuperación: Conviértalo a SVG o PDF modernos con el conversor de PostScript de File2File.app.
Análisis de seguridad y vectores de ataque al analizador
Como EPS contiene código PostScript ejecutable, un archivo malicioso puede ejecutar código de forma remota en intérpretes vulnerables, como Ghostscript.
Vectores de ataque conocidos
- Vulnerabilidades que permiten eludir el aislamiento «-dSAFER» de Ghostscript y ejecutar comandos de shell arbitrarios.
- Corrupción de memoria en las pilas y los evaluadores de diccionarios PostScript sin protección.
- Desbordamiento del búfer en las cabeceras de vista previa binaria TIFF/WMF incrustadas.
Mejores prácticas defensivas: No ejecuta archivos EPS en sistemas operativos nativos. Conviértalos a SVG o PDF en entornos WebAssembly aislados y sin privilegios.
Orígenes históricos e hitos
Ventajas principales
- Escalabilidad vectorial precisa y separación fiable de colores directos (Pantone) para imprentas comerciales.
- Muchas aplicaciones profesionales de edición y dibujo admiten EPS, aunque la compatibilidad depende del producto y de su versión.
- Sus funciones gráficas completas en sentido de Turing permiten generar matemáticamente fractales complejos y curvas algorítmicas.
Limitaciones técnicas
- Riesgos de seguridad: PostScript es un lenguaje de programación ejecutable que puede iniciar operaciones en el sistema de archivos si se usa con intérpretes antiguos.
- No admite transparencia alfa de forma nativa: las sombras transparentes y los efectos de vidrio deben acoplarse en imágenes ráster.
- Algunas versiones de Microsoft Office y los navegadores modernos limitan o no ofrecen compatibilidad. Entre los motivos están las dudas de seguridad al procesar PostScript.
Curiosidades técnicas interesantes
- Un archivo EPS es literalmente un programa ejecutable escrito en PostScript que indica a una impresora cómo dibujar la imagen.
- Muchos archivos EPS contienen una vista previa de baja resolución en TIFF o Windows Metafile (WMF) dentro de una cabecera binaria. Así, los diseñadores pueden colocarla en la página sin ejecutar un intérprete PostScript.
- La invención de PostScript y EPS por John Warnock impulsó a Adobe Systems hasta la lista Fortune 500.
Preguntas técnicas frecuentes
¿Por qué ya no puedo insertar archivos EPS en Microsoft Office?
En las versiones de Office para Windows, las actualizaciones de seguridad desactivaron la inserción de archivos EPS. En Microsoft 365 y Office 2019 y posteriores no se puede volver a habilitar; algunas versiones anteriores permiten hacerlo mediante cambios en el Registro. Office para Mac no se ve afectado por este cambio.
¿Cómo puedo convertir EPS a SVG o PDF?
Puedes convertir de forma segura archivos EPS a gráficos vectoriales SVG o PDF modernos con File2File.app directamente en el navegador.
¿Cuál es la diferencia entre EPS y PostScript (.ps)?
Un archivo .ps estándar describe documentos completos de varias páginas. En cambio, un archivo .eps describe un único gráfico delimitado por un BoundingBox, para poder incluirlo («encapsularlo») en otros documentos.