Editorial Craft Bible
Hipervínculos y marcadores
Inicio PDF digital / pantalla Hipervínculos y marcadores
PDF digital / pantalla

Hipervínculos y marcadores

11 reglas PDF Association · PDF 32000-1 (Link annotations)CSS Generated Content for Paged Media · PrinceXML · WeasyPrintW3C CSS Generated Content for Paged Media (target-counter)WCAG 2.2 Target Size · WCAG Link Use of Color
26

Hipervínculos y marcadores

11 reglas
277

Mantén los enlaces vivos y clicables en el PDF digital

Un PDF pensado para pantalla debe llevar anotaciones de enlace reales, no solo texto azul: URLs, correos mailto: y referencias internas tienen que ser clicables. En HTML, un <a href> se convierte en una anotación Link del PDF al exportar; el texto de color que solo parece enlace está muerto. Distingue enlaces externos (abren una URL) de los internos (saltan dentro del archivo).

Correcto
Ver el informe anual completo.
Link annotation región clicable
Los <a href> reales exportan como anotaciones Link del PDF.
Evitar
Ver el informe anual completo.
sin anotación no clicable
Texto azul subrayado que es solo estilo, sin enlace detrás.
PDF Association · PDF 32000-1 (Link annotations)
278

Genera los marcadores desde la estructura de encabezados

El panel de marcadores (outline) del PDF es el mapa lateral del lector: constrúyelo desde la jerarquía h1h3 del documento, no a mano. Anida los niveles para que los marcadores H2 vivan bajo su H1. En HTML–a–PDF, Prince y WeasyPrint leen bookmark-level / bookmark-label; Chrome headless no emite marcadores, así que agrégalos en post (pdfmarks de Ghostscript o Acrobat).

h1 { bookmark-level: 1; bookmark-label: content() }
h2 { bookmark-level: 2 }
h3 { bookmark-level: 3; bookmark-state: closed }
Correcto
Marcadores
1. Introducción
2. Método
2.1 Muestreo
2.2 Análisis
3. Resultados
Encabezados
Método
Muestreo
Análisis
El árbol de marcadores refleja el esquema H1/H2/H3 de la página.
Evitar
Marcadores
(vacío)
Sin outline: un PDF largo sin ninguna navegación lateral.
CSS Generated Content for Paged Media · PrinceXML · WeasyPrint
279

Enlaza el índice y las referencias cruzadas a su destino real

Cada entrada de un índice digital y cada "ver pág. 12" debe ser un enlace interno vivo que salte al ancla exacta, no solo un número impreso. En HTML usa <a href="#ancla"> y saca el número de página con target-counter(attr(href), page). Verifica tras repaginar: el ancla debe seguir existiendo y caer en el encabezado correcto.

a.xref::after { content: leader('.') target-counter(attr(href), page) }
Correcto
2. Método14
3. Resultados21
cada fila salta a su ancla
Números de página autocalculados y cada entrada enlaza a su sección.
Evitar
2. Método12
3. Resultados18
números tecleados, sin enlaces, ya desfasados
Números tecleados a mano que se desfasan al repaginar y no clican.
W3C CSS Generated Content for Paged Media (target-counter)
280

Da a los enlaces estilo visible y un área de clic generosa

Un enlace que el lector no ve es un enlace que no usará: mantén un color de acento consistente más subrayado, nunca solo color. La anotación clicable debe cubrir toda la frase con algo de relleno vertical; apunta a un objetivo de al menos ~24 px (unos 9 pt) de alto para acertarlo con el dedo. No envuelvas un enlace de modo que una sola letra o un espacio suelto sea la única zona sensible.

Correcto
Consulta la guía de estilo completa aquí.
Toda la frase tiene estilo y el área de clic es cómodamente alta.
Evitar
Consulta la guía de estilo completa aquí.
Solo la palabra "aquí" es el objetivo, sin estilo y diminuta para tocar.
WCAG 2.2 Target Size · WCAG Link Use of Color
281

Confirma que el <a href> sobrevive al export HTML–a–PDF

Chrome headless (--print-to-pdf) sí conserva los <a href> como anotaciones Link clicables, tanto externas como internas #ancla, así que no tienes que simularlas. Pero un #ancla solo funciona si el id destino existe en la página; y pasos posteriores pueden eliminarlas. Tras cualquier pasada de Ghostscript o "reducir tamaño", reabre el PDF y clica los enlaces para confirmar que siguen vivos.

<a href="https://ejemplo.com">externo</a> → PDF Link (URI)
<a href="#metodo">interno</a> → PDF Link (GoTo #metodo)
<h2 id="metodo">Método</h2> → destino del ancla
Chromium print-to-pdf · PDF Association (Link/GoTo actions)
282

Escribe los enlaces externos con la URL completa y legible

Un PDF digital a menudo se imprime, y en papel un enlace clicable es solo tinta: el lector tiene que poder teclearlo. Prefiere una URL canónica escrita a "clic aquí" o a un acortador enmascarado que muera después. Para direcciones largas, imprime la forma corta visible y mantén el href completo vivo, o expón la URL en un estilo de impresión con a::after { content: ' (' attr(href) ')' }.

Correcto
Descarga en musett.mx/informe
imprimible y tecleable en papel
La URL canónica se lee igual en pantalla y en papel.
Evitar
Descarga aquí
tinta muerta una vez impreso
"aquí" y acortadores ocultos no dejan nada que teclear en papel.
WCAG Link Purpose · Nielsen Norman Group (link text)
283

Usa named destinations para deep-linking estable

Un named destination es una etiqueta estable dentro del PDF (un nombre, no un número de página crudo) a la que herramientas externas pueden saltar: archivo.pdf#nameddest=metodo abre directo en esa sección. Sobreviven a la repaginación porque apuntan a contenido, no a la página N. En HTML–a–PDF, los id de elemento se vuelven los named destinations en Prince/Weasy; mantén los id significativos y únicos para que los enlaces tipo #page=5 sigan siendo fiables.

informe.pdf#nameddest=metodo ✓ estable (apunta al ancla)
informe.pdf#page=14 ✗ frágil (se rompe al repaginar)
PDF 32000-1 (Named Destinations) · Adobe Acrobat SDK
284

No sobrecargues el texto de enlaces

Los enlaces son navegación, no decoración: un párrafo salpicado de ellos se vuelve un arcoíris de subrayados que daña la lectura y esconde el único enlace que importa. La prosa debe sostenerse sola si se ignora o se imprime cada enlace. Agrupa las referencias al final de una sección, o súbelas a notas al pie/final, en vez de subrayar la mitad del cuerpo.

Correcto
El método sigue el protocolo estándar1 y amplía la muestra base.
Una referencia anclada; la frase se lee limpia.
Evitar
El método sigue el protocolo estándar y amplía la muestra base.
Sopa de subrayados: el lector no distingue qué vale la pena clicar.
Nielsen Norman Group (link density)
285

Rellena los metadatos del documento

El Title, Author, Subject y Keywords del PDF son lo que muestran buscadores, sistemas DAM y la barra de título del lector, y PDF/A y PDF/UA exigen metadatos XMP correctos para conformar. Un Title en blanco hace que el archivo aparezca como su nombre de archivo crudo en pestañas y resultados. En HTML el <title> y <meta name="author"> alimentan el Document Info; defínelos, y prefiere XMP que coincida con la portada visible.

Title: Informe anual 2026 · Musett
Author: Estudio Musett
Subject: Resultados y método
Keywords: informe, 2026, editorial
Correcto
Informe anual 2026 · Musett
La pestaña muestra un título humano desde los metadatos.
Evitar
informe_v3_FINAL(2).pdf
El Title vacío cae al nombre de archivo crudo y desordenado.
ISO 19005 (PDF/A XMP) · ISO 14289 (PDF/UA) · Adobe XMP
286

Agrega botones de formulario solo si el flujo digital lo exige

Los campos de formulario interactivos y botones de acción (enviar, limpiar, imprimir) van solo en PDFs de flujo digital real; un reporte o un maestro de impresión no debe cargarlos. Las acciones AcroForm suman peso, rompen algunos visores y están prohibidas por la conformidad de archivo PDF/A. Los motores HTML–a–PDF no emiten campos de formulario en absoluto, así que si de verdad necesitas un PDF rellenable, créalo en Acrobat, no desde un estilo de impresión.

PDF 32000-1 (AcroForm) · ISO 19005 PDF/A (no interactive forms)
287

Elimina enlaces locales y rotos antes de publicar

Un enlace que resuelve en tu máquina pero no para el lector es una falla silenciosa: rutas file:///Users/…, localhost, dominios de staging y anclas muertas se publican rotos. Antes de exportar, reemplaza rutas locales y relativas por la URL final absoluta HTTPS, y corre un chequeo de enlaces para que cada href resuelva. Los enlaces internos #ancla deben coincidir con un id real; un destino faltante simplemente no hace nada al clicar.

Correcto
https://musett.mx/informe.pdf
URL absoluta HTTPS que resuelve para cualquier lector.
Evitar
file:///Users/alex/informe.pdf
http://localhost:4026/#seccion-x
Rutas locales y anclas muertas que solo funcionan en tu máquina.
Preflight link check · W3C Link Checker