¿Qué es COS?
COS (Carousel Object Syntax) es la sintaxis empleada por PDF y archivos FDF, documentada en detalle en ISO 32000-2:2020. Cuando exploras el interior de un archivo PDF, lo que encuentras es COS.
"Carousel" era el nombre en clave de Acrobat 1.0 cuando se introdujo por primera vez esta sintaxis.
Los ocho tipos de objetos COS
COS es una sintaxis pequeña y casi todo en un PDF es uno de ocho tipos básicos de objetos. Cuando puedes reconocerlos, el interior de un PDF deja de parecer ruido:
- Booleanos y números, escritos directamente.
- Cadenas, entre paréntesis redondos o como hexadecimal entre corchetes angulares.
- Nombres, escritos con una barra inicial, como \/Type o \/Page.
- Arreglos, entre corchetes cuadrados, y diccionarios, entre doble corchete angular.
- Flujos (streams), un diccionario seguido de un bloque de bytes en bruto o comprimidos.
- El objeto nulo.
El contenido de página, las fuentes, las imágenes y metadatos se construyen a partir de esas piezas. Un flujo contiene la mayor parte de los datos de un archivo, porque incluye descripciones de página comprimidas e imágenes incrustadas.
Cómo se vuelven a encontrar los objetos
Los objetos están numerados, y una tabla de referencias cruzadas al final del archivo registra el desplazamiento en bytes de cada uno. Un lector empieza al final, lee el tráiler, encuentra la tabla de referencias cruzadas y luego salta directamente al objeto que necesita. Por eso se puede abrir un PDF sin analizarlo de principio a fin. Las versiones posteriores pueden almacenar esa tabla como un flujo de objetos comprimido, y una actualización incremental actualización incremental añade una segunda tabla en lugar de reescribir la primera.