Guías

«The file is damaged and could not be repaired» — reparar un PDF roto

Cuando Acrobat dice que no pudo reparar un PDF, normalmente significa que el índice del archivo quedó dañado o cortado durante la transferencia, no que las páginas de dentro se hayan perdido, y reconstruir ese índice a menudo vuelve a abrir el documento.

Los errores exactos, y la ironía de la redacción de Adobe

Adobe Acrobat y Reader muestran esto, textualmente, cuando un PDF no se abre:

There was an error opening this document. The file is damaged and could not be repaired.

El visor integrado de Chrome expresa el mismo fallo de forma más escueta:

Failed to load PDF document.

Lee con atención la frase de Adobe, porque su formulación empuja a mucha gente a rendirse. No dice que el archivo no se pueda reparar. Dice que Acrobat no pudo repararlo. Acrobat tiene una pasada de reparación integrada que se ejecuta automáticamente cuando se topa con un PDF roto, y esa pasada es conservadora: gestiona los problemas simples y se rinde ante cualquier cosa más difícil. Cuando se rinde, informa del archivo como dañado y más allá de su propia reparación, lo cual es una afirmación sobre el esfuerzo de Acrobat, no sobre la recuperabilidad real del archivo. Muchísimos PDF que provocan este mensaje se abren perfectamente tras una reconstrucción estructural más a fondo.

La tabla xref es el índice del PDF

Un PDF se construye a partir de objetos numerados: cada página, fuente, imagen y bloque de texto es un objeto guardado en algún punto del archivo. Para encontrarlos rápido, un PDF mantiene una tabla de referencias cruzadas, la xref, cerca del final del archivo. La xref es una lista de consulta que registra el desplazamiento exacto en bytes de cada objeto, y justo después de ella se sitúa un pequeño tráiler que apunta al lector hacia la xref y hacia la raíz del documento. Cuando abres un PDF, el lector salta al final, lee el tráiler, lee la xref y usa esos desplazamientos para localizar todo lo demás.

Un PDF guarda primero sus objetos de página y, cerca del final, el índice xref que los localiza. Daña la xref y el lector no puede encontrar las páginas, aunque las páginas sigan ahí.

Ese diseño es la misma historia que el índice de un vídeo o el directorio de un ZIP: un pequeño mapa al final que un lector necesita antes de poder usar el gran cuerpo de datos que tiene delante. Y tiene la misma consecuencia. Si la xref está corrupta, apunta a desplazamientos equivocados, o quedó cortada por completo, el lector no puede encontrar ni un solo objeto aunque las páginas estén en el archivo intactas. El documento es inservible, pero el contenido no está perdido, solo está sin indexar. Esa brecha entre «inservible» y «perdido» es donde vive la reparación.

Por qué una descarga rota rompe el PDF entero

Dos cosas salen mal con más frecuencia, y ambas dejan los objetos intactos mientras destrozan el índice. La primera es el truncamiento. Un PDF, como la mayoría de los archivos, se transfiere de principio a fin, así que una descarga que se atasca, una sincronización en la nube que se cierra, o un disco sacado a mitad de la copia te dejan con la parte inicial del archivo y nada después del corte. Como la xref y el tráiler viven al final, el truncamiento los elimina primero mientras los objetos de página del principio sobreviven. Una comprobación rápida de tamaño lo delata: un contrato que debería ocupar 4 MB y que llega como 2,6 MB está truncado, y los bytes que faltan no están dañados, simplemente están ausentes.

La segunda es la alteración durante la transferencia. Un PDF es una mezcla de datos binarios y estructura tipo texto, y una transferencia que modifica bytes por el camino (una pasarela de correo que «arregla» los saltos de línea, una herramienta que trata el archivo como texto, un paso de codificación que corrompe ciertos caracteres) puede desplazar la posición real de los objetos de modo que ya no coincidan con los desplazamientos que registra la xref. La xref ahora apunta unos bytes más allá de donde cada objeto realmente está, y el lector, siguiendo esos punteros obsoletos, encuentra basura y declara el archivo dañado.

Ambos casos comparten un orden de arreglo. Como la reparación más segura para un archivo truncado o alterado es una copia limpia de los bytes que se perdieron o cambiaron, vuelve a descargar o a copiar primero el archivo desde su origen original. Bájalo de nuevo sobre una conexión estable, o sácalo directamente del dispositivo o disco del que vino, y abre la copia nueva. Una descarga limpia arregla el documento entero de una vez, mientras que la reparación solo puede reconstruir alrededor de lo que ya tienes, así que siempre merece la pena dedicar los dos minutos a probar el origen original antes que cualquier otra cosa.

Reconstruir el xref

Cuando no hay una copia limpia disponible, la reparación consiste en reconstruir el índice. Cada objeto de un PDF lleva un marcador reconocible en el archivo, así que una herramienta de reparación puede ignorar por completo la xref rota y escanear el archivo desde el principio, encontrando cada objeto superviviente y anotando dónde está realmente. A partir de ese escaneo construye una tabla de referencias cruzadas nueva y correcta y un tráiler que le corresponde, y luego escribe un PDF nuevo cuyo índice apunta de verdad a sus objetos. Un lector que abre el archivo reconstruido recorre la nueva xref, encuentra cada objeto donde la tabla dice que está y renderiza el documento.

Este es exactamente el trabajo que intenta la propia pasada de reparación de Acrobat, y que a menudo abandona, hecho más a fondo. Cuando los objetos sobrevivieron y solo el índice estaba roto, que es el caso común detrás de este error, la reconstrucción recupera el documento por completo. Además, no es destructiva cuando se hace bien: la herramienta lee tu archivo dañado y escribe uno nuevo, así que un intento fallido deja el original exactamente como estaba, sin costarte nada por probar.

Cuándo no basta con reconstruir

Reconstruir la xref recupera un documento cuyos objetos están intactos tras un índice roto. No puede sacar de la nada contenido que no está en el archivo, y unas cuantas situaciones quedan fuera de lo que cualquier reparación puede hacer. Nombrarlas con claridad es más útil que una promesa:

  • Los propios objetos faltan. Si el truncamiento cortó parte del archivo, las páginas que vivían en la sección eliminada se han perdido. Una reconstrucción recupera los objetos que sobrevivieron hasta el corte, y el documento vuelve incompleto en lugar de entero. No hay nada que indexar allí donde los bytes ya no existen.
  • El PDF está cifrado y no tienes la contraseña. Un PDF protegido con contraseña guarda su contenido cifrado. La estructura se puede reconstruir, pero las páginas siguen cifradas, así que sin la contraseña el archivo recuperado sigue siendo ilegible. La reparación no evita el cifrado, ni debería hacerlo.
  • Es un PDF de imágenes escaneadas con páginas dañadas.Un documento escaneado es esencialmente una imagen por página envuelta en un PDF. La recuperación es por página: las páginas cuyos datos de imagen sobrevivieron vuelven sin problemas, y las páginas cuyos datos de imagen quedaron truncados o sobrescritos no, ya que no hay redundancia dentro de una imagen comprimida a partir de la que reconstruir. Espera algunas páginas de vuelta y otras que faltan, más que un borrón parcial de todas las páginas.
  • El archivo está casi vacío. Un PDF que volvió como unos pocos kilobytes de un original de varios megabytes, o que se lee como casi todo ceros, no contiene objetos reales que indexar. Ese es un problema de descarga o de recuperación, no de reparación.

Fuera de esos casos, un PDF que Acrobat calificó de dañado y que no pudo reparar es con frecuencia una simple reconstrucción del índice, porque el error trata del mapa mucho más a menudo que del territorio.

Preguntas frecuentes

¿Qué significa «the file is damaged and could not be repaired»?

Significa que Adobe Acrobat o Reader detectó que la estructura del PDF está rota y que su propio intento de reparación integrado falló. Merece la pena leer con atención la redacción: dice que Acrobat no pudo reparar el archivo, no que el archivo sea irreparable. La causa más común es una tabla de referencias cruzadas dañada o truncada, el índice que le dice a un lector dónde vive cada objeto del documento. Acrobat se rinde enseguida ante un índice defectuoso, pero el contenido de las páginas suele seguir presente y ser alcanzable reconstruyendo ese índice.

¿Cómo arreglo un PDF que está dañado y no se pudo reparar?

Empieza por volver a descargar o a copiar el archivo desde su origen original, porque a una descarga truncada le faltan bytes que ninguna solución local puede restaurar. Si no hay una copia limpia disponible, el siguiente paso es reconstruir la tabla de referencias cruzadas del PDF: una herramienta de reparación escanea el archivo en busca de los objetos que sobrevivieron y reconstruye un índice válido que apunta a ellos, lo que permite a un lector volver a abrir el documento. Esto funciona cuando los objetos están intactos y solo el índice está roto, que es la situación habitual detrás de este error.

¿Por qué Chrome dice «Failed to load PDF document»?

El visor de PDF integrado de Chrome muestra ese mensaje cuando no puede interpretar la estructura del archivo lo suficiente como para renderizarlo. Es el equivalente en Chrome del error de archivo dañado de Acrobat, y apunta al mismo problema de fondo: una estructura de PDF rota o incompleta, con frecuencia una descarga truncada. Antes de dar por corrupto el archivo, prueba a descargarlo de nuevo y a abrirlo en un lector distinto, ya que los visores varían en cuánto daño estructural toleran.

¿Se puede reparar un PDF corrupto sin Adobe?

Sí. La estructura de un PDF está bien documentada, así que reconstruir su tabla de referencias cruzadas no requiere software de Adobe. Una herramienta de reparación específica escanea el archivo en busca de objetos válidos y reconstruye el índice que apunta a ellos, que es exactamente lo que recupera un documento que Acrobat dijo que no podía reparar. No necesitas tener Acrobat instalado para llegar a las páginas, aunque querrás algún lector de PDF para ver el resultado recuperado.

¿Se puede reparar un PDF cifrado?

Su estructura se puede reconstruir, pero el contenido sigue cifrado. Un PDF protegido con contraseña guarda sus páginas como datos cifrados, y reparar el índice del archivo no las descifra. Si tienes la contraseña, puedes abrir el archivo reparado y leerlo con normalidad; sin la contraseña, los objetos recuperados siguen siendo ilegibles. La reparación arregla el contenedor que rodea al contenido, y no elimina ni evita el cifrado, cosa que es intencionada.

Un PDF suele ser un contrato, un documento de identidad o un historial médico, así que dónde se procesa el archivo importa: repara el tuyo en el navegador, sin subir nada.