¿Qué es la superposición (overlay) en PDF? Flujo de contenido y lógica de capas
8 min de lectura
Cuando superpones un PDF sobre otro, ¿qué ocurre dentro del archivo? No se pegan dos páginas una encima de otra, porque en un PDF la página no es una imagen sino un flujo de instrucciones de dibujo. En este artículo explicamos cómo interviene la superposición en ese flujo, para qué sirven los objetos formulario XObject y por qué el orden de dibujo lo determina todo.
El contenido de la página: un flujo de dibujo ordenado
Cada página de un PDF tiene un flujo de contenido (content stream). Ese flujo es la lista ordenada de instrucciones que describe cómo dibujar la página:
q % guarda el estado gráfico
1 0 0 RG % pon el color de trazo en rojo
50 700 200 100 re % define un rectángulo
f % rellena
Q % restaura el estado gráfico
BT % inicia bloque de texto
/F1 12 Tf % selecciona la tipografía F1 a 12 puntos
72 650 Td % ve a la posición
(Hola) Tj % dibuja el texto
ET % termina el bloque de texto
La característica crítica: las instrucciones se aplican en orden y lo que se dibuja después queda encima de lo anterior. Es como aplicar pintura sobre un lienzo: lo que pintas primero queda tapado.
Ese único hecho explica toda la lógica de la superposición.
Cómo se añade la superposición al flujo
La operación de superposición añade el contenido de página del archivo de superposición al flujo de la página del documento principal. Se elige una de dos posiciones:
Primer plano (overlay): las instrucciones de la superposición se añaden al final del flujo. Como se dibujan después, quedan encima del contenido principal.
Fondo (underlay): las instrucciones se añaden al principio del flujo. Como se dibujan antes, el contenido principal queda encima.
Así de simple. El concepto de "capa" es aquí metafórico: en el archivo no se crea ninguna capa que se pueda activar y desactivar, solo cambia el orden de las instrucciones.
Pero hay un detalle técnico que conviene vigilar: la fuga de estado gráfico. Si el flujo de la superposición cambia un color o una matriz de transformación y termina sin restaurarlo, el contenido principal que viene a continuación se dibuja con esos ajustes y el documento se estropea. Por eso las implementaciones correctas envuelven el flujo de superposición con las instrucciones q (guardar) y Q (restaurar). Si tras superponer ves cambios de color o desplazamientos inesperados en tu documento, esa suele ser la causa.
Formulario XObject: la estructura que resuelve la repetición
Imagina que superpones un membrete en un documento de 80 páginas. Es posible copiar las instrucciones del membrete por separado en el flujo de cada una de las 80 páginas, pero es un derroche, sobre todo si el membrete lleva un logotipo vectorial complejo o una imagen incrustada.
La solución es el objeto formulario XObject. Un formulario XObject es como un "bloque de dibujo reutilizable": un objeto independiente con su propio flujo de contenido y sus propios recursos. Una página lo invoca con una sola instrucción:
q
1 0 0 1 0 0 cm % matriz de transformación (posición/escala)
/Membrete Do % dibuja el formulario Membrete
Q
La herramienta de superposición convierte la página del archivo de superposición en un formulario XObject y lo coloca en el archivo una sola vez. Después añade a cada página solo esa llamada de dos líneas.
La consecuencia práctica: el aumento de tamaño del archivo es independiente del número de páginas. Lo superpongas en 10 páginas o en 500, los datos del membrete se guardan una vez. El aumento viene de los recursos propios del archivo de superposición: tipografías incrustadas, imagen del logotipo.
La matriz de transformación: cómo se hace el posicionamiento
La instrucción cm de la llamada al formulario define una matriz de transformación. Esa matriz consta de seis números y define a la vez el escalado, el desplazamiento y el giro:
a b c d e f cm
En el caso simple se usa 1 0 0 1 0 0: ninguna transformación, el formulario se dibuja en sus propias coordenadas. Si quieres desplazar la superposición 20 unidades a la derecha y 30 hacia arriba, se escribe 1 0 0 1 20 30. Para dibujarla a media escala, 0.5 0 0 0.5 0 0.
En el sistema de coordenadas del PDF, el origen está en la esquina inferior izquierda de la página y el eje y aumenta hacia arriba. Eso es lo contrario de las coordenadas de pantalla (origen arriba a la izquierda, y aumenta hacia abajo) y es una fuente habitual de confusión al alinear superposiciones.
Si los tamaños de página son distintos, el problema aparece aquí. Si el documento principal es A4 (595 × 842 puntos), la superposición es Letter (612 × 792 puntos) y la matriz de transformación es la identidad, la superposición se alinea desde la esquina inferior izquierda. Resultado: la parte superior de la superposición queda 50 puntos más abajo y su lado derecho se desborda 17 puntos. Por eso, preparar el archivo de superposición al tamaño de destino es mucho más fiable que intentar alinearlo después.
Conflicto de recursos y su solución
El archivo de superposición y el documento principal pueden tener recursos distintos que usan los mismos nombres internos. Los dos pueden tener una tipografía llamada /F1 y una imagen llamada /Im1, pero son tipografías e imágenes diferentes.
Durante la combinación, la herramienta tiene que resolverlo. El enfoque estándar es renombrar los nombres en conflicto al copiar los recursos del archivo de superposición al documento principal (/F1 → /Ov_F1) y actualizar en consecuencia las referencias dentro del formulario XObject.
Eso tiene un efecto secundario: la misma tipografía puede acabar dos veces en el archivo. Si Arial está incrustada en el documento principal y también en el archivo de superposición, quedan como objetos separados. El tamaño del archivo aumenta algo. Pasar el resultado por una herramienta de compresión suele limpiar ese tipo de duplicados.
Transparencia: por qué no se puede añadir después
Cuando pones la superposición en primer plano y su contenido es opaco, tapa todo lo que hay debajo. Si quieres un efecto tipo marca de agua, hace falta transparencia.
En el PDF, la transparencia se define con el diccionario ExtGState (estado gráfico extendido). Antes de una instrucción de dibujo se ajusta esto:
/GS1 gs % aplica el estado gráfico GS1
y en el diccionario GS1 hay valores como /ca 0.3 (transparencia de relleno) o /CA 0.3 (transparencia de trazo).
Las herramientas de superposición suelen trasladar el contenido del archivo de superposición tal cual y no intervienen en esos ajustes. Por eso la transparencia hay que ajustarla al generar el PDF de superposición: baja la opacidad del elemento en tu programa de diseño y expórtalo así a PDF.
Además, los contenidos que usan transparencia suelen incluirse dentro de un grupo de transparencia. Eso garantiza que los cálculos de mezcla se hagan correctamente, pero puede procesarse de otra manera en algunos visores antiguos y en ciertos controladores de impresora. En trabajos de impresión críticos hay que probar la salida en la impresora real tras la superposición.
¿Sigue siendo texto?
Sí. La superposición no convierte el texto en imagen; si el texto del archivo de superposición es texto real, en el archivo combinado sigue siendo seleccionable y localizable.
Eso tiene dos caras:
La ventaja: el nombre de la organización del membrete aparece en los resultados de búsqueda, la fecha del sello se puede copiar y los sistemas de tratamiento documental pueden leer esa información.
Lo que hay que vigilar: la superposición no es una herramienta de ocultación. Si tapas un dato del documento principal con una superposición, ese dato sigue en el archivo y sale a la luz al seleccionar o extraer texto. Para eliminar información confidencial hace falta redacción, que borra el contenido físicamente del archivo.
Capas de verdad: los grupos de contenido opcional
En el PDF también existen capas reales que se pueden activar y desactivar: los grupos de contenido opcional (OCG, Optional Content Groups). Se usan en dibujos técnicos y mapas; en el visor puedes activarlas y desactivarlas desde un panel.
Las herramientas de superposición no suelen usarlos: solo ajustan el orden de dibujo. Es decir, no podrás desactivar después el membrete superpuesto en el visor; ha pasado a ser una parte permanente del flujo de contenido.
Si quieres una capa separable, necesitarás herramientas específicas que añadan la superposición como OCG. Puede ser útil para marcas temporales como un sello de borrador, pero rara vez hace falta en el uso cotidiano.
En resumen
La superposición consiste simplemente en añadir instrucciones de dibujo nuevas al flujo de contenido de la página del PDF: si se añaden al final quedan encima y si se añaden al principio, debajo. Las superposiciones repetidas se guardan una sola vez como un objeto formulario XObject al que referencia cada página, así que el tamaño del archivo aumenta con independencia del número de páginas. El posicionamiento se hace con la matriz de transformación y toma como referencia la esquina inferior izquierda de la página; por eso una diferencia de tamaño provoca desplazamiento. La transparencia se define en el diccionario de estado gráfico y no se puede añadir durante la superposición: tiene que venir lista en el archivo de superposición. Y el texto superpuesto sigue siendo texto real, un comportamiento útil pero del que hay que ser consciente en términos de privacidad.
Preguntas frecuentes
¿Existen 'capas' de verdad en un PDF?
Hay dos cosas distintas. Una son los grupos de contenido opcional (OCG): capas reales que el usuario puede activar y desactivar, usadas en dibujos técnicos. La otra es el orden de dibujo: en el flujo de contenido, lo que se dibuja después queda encima de lo anterior. La superposición suele usar lo segundo; no crea una capa que se pueda activar y desactivar, solo coloca las instrucciones de dibujo en el orden correcto.
¿Por qué no aumenta mucho el tamaño del archivo tras la superposición?
Porque el contenido de la superposición se guarda una sola vez en el archivo como un objeto formulario XObject y cada página lo referencia. Cuando superpones un logotipo en un documento de 200 páginas, el logotipo se guarda una vez, no 200. El aumento viene sobre todo de los recursos propios del archivo de superposición (tipografías, imágenes) y es independiente del número de páginas.
Si los dos archivos tienen la misma tipografía, ¿hay conflicto?
No, porque durante la combinación se reasignan los números de objeto y, si hace falta, se renombran los recursos. Si los dos archivos usan tipografías distintas llamadas /F1, la herramienta las separa con nombres que no chocan. El resultado puede ser que el archivo contenga dos copias de la misma tipografía: eso aumenta algo el tamaño, pero no provoca ningún problema visual.
¿El contenido superpuesto se puede seleccionar como texto?
Sí; si el texto del archivo de superposición es texto real, sigue siendo seleccionable y localizable. La superposición no convierte el texto en imagen. Eso significa que la fecha de un sello o los datos de un membrete pueden aparecer en los resultados de búsqueda, algo que normalmente es deseable, pero de lo que conviene ser consciente en términos de privacidad.
Pruébalo ahora mismo con PDF Bindirme (Overlay).
Probar PDF Bindirme (Overlay)