Reparar PDF

Reconstruye PDF dañados o cortados para que vuelvan a abrirse

1Elegir archivo2Ajustes3Procesar4Guardar

Elige un PDF y analizaremos su contenido para mostrarlo aquí.

Los archivos se procesan solo en este navegador. No se suben a ningún servidor.

Reconstruye PDF con xref dañada o datos cortados escaneando sus objetos para que vuelvan a abrirse

Seguir en otra herramienta
Ajustes de la tarea
Ajustes de diagnóstico y reparación

El archivo reparado tiene una tabla de referencias cruzadas nueva, así que las firmas digitales existentes dejan de ser válidas. Guarda el original aparte.

Quita primero la contraseña de un PDF cifrado. El procesamiento se centra en el contenido de las páginas, por lo que no se garantiza conservar marcadores, adjuntos, formularios ni firmas. Conserva el original y revisa el resultado.

Acerca de Reparar PDF

Un PDF no se lee de principio a fin. Cerca del final hay una tabla de referencias cruzadas (xref) que indica en qué byte empieza cada objeto, del tipo «el objeto 3 empieza en el byte 1204». El visor arranca en el trailer del final y salta a cada objeto por esas direcciones. Por eso un archivo con el contenido intacto puede aparecer como dañado solo porque esa libreta de direcciones está mal.

Esta herramienta no se fía de esa libreta. Recorre el archivo entero de principio a fin, encuentra todos los objetos envueltos en «N 0 obj … endobj» y escribe una tabla de referencias nueva con lo que encuentra. Después de guardar, abre el resultado con un motor PDF y comprueba el número de páginas.

Daños que se pueden reparar

El objetivo son los casos en que la información estructural está mal pero los datos siguen ahí, que además son los más frecuentes.

  • Basura antes de la cabecera. Si una pasarela de correo o un script de subida añade bytes antes de %PDF-, todos los desplazamientos se corren lo mismo. Basta con quitar ese prefijo.
  • Desplazamientos de xref erróneos. Otro programa editó el archivo sin actualizar la tabla, o una conversión de fin de línea (una transferencia FTP en modo texto, por ejemplo) movió los bytes.
  • Longitud de flujo errónea (/Length). Si /Length no cae en endstream, la herramienta busca endstream y vuelve a medir.
  • Falta el trailer. /Root se toma del último trailer o diccionario de flujo xref; si no existe, se busca un objeto /Type /Catalog y se usa como punto de entrada.
  • Árbol de páginas roto. Se quitan las entradas que apuntan a páginas inexistentes y se corrigen /Parent y /Count. Si no hay árbol utilizable, se construye uno nuevo con los objetos /Type /Page en el orden del archivo.

Daños que no se pueden reparar

Los bytes que faltan no vuelven. Si una descarga se cortó al 60 %, los objetos del 40 % restante no están en ninguna parte. Puede sobrevivir el objeto de una página pero no su flujo de contenido o sus imágenes, y esa página se abrirá en blanco o sin fotos.

Desde PDF 1.5 se pueden meter muchos objetos en un solo flujo comprimido (ObjStm). Si uno de ellos queda cortado, desaparecen con él decenas de objetos. La herramienta solo sabe descomprimir flujos de objetos con FlateDecode; los que usan otros filtros o predictores no se recuperan.

Los PDF cifrados quedan fuera porque el contenido de los objetos está bloqueado. Tampoco se arreglan reconstruyendo la estructura los daños dentro de datos comprimidos, como bits alterados.

Actualizaciones incrementales y «gana la última definición»

PDF admite actualizaciones incrementales: los cambios se añaden al final del archivo en lugar de reescribirlo. Al añadir una firma o un comentario, el mismo número de objeto puede aparecer dos o más veces, y según la especificación vale el último. La herramienta sigue la misma regla y usa la última definición de cada número.

Así, el archivo reparado refleja el último guardado. Si ese último guardado incremental quedó a medias, los objetos cortados se descartan y ganan las definiciones anteriores completas, así que puedes ver el documento un paso atrás. También significa que en el archivo siguen versiones antiguas de objetos, y algo que creías borrado puede reaparecer al recuperar.

Ejemplos

Un contrato recibido por correo que no abre

Entrada
Diagnóstico: 16 bytes de basura antes de %PDF; 30 de 30 desplazamientos de xref no coinciden
Resultado
Se quitan los 16 bytes iniciales, se escribe una xref nueva para 38 objetos y se confirman 12 páginas

Cuando todos los desplazamientos fallan por la misma cantidad, se pegó algo delante. No se perdió nada, así que el resultado es el mismo documento que el original.

Un informe con la descarga interrumpida

Entrada
Recibidos 12 MB de un archivo de 20 MB, sin trailer
Resultado
Objetos cortados descartados, raíz recuperada buscando el catálogo, algunas páginas en blanco

Solo sobreviven los objetos que estaban completos en los primeros 12 MB. Las páginas cuyas imágenes estaban más atrás se abren en blanco. Si puedes volver a descargar el original, esa es la solución de verdad.

Páginas fuera del árbol

Entrada
El árbol tiene 10 páginas; el archivo contiene 12 objetos de página
Resultado
Con la opción activada, se añaden 2 páginas al final

Lo más probable es que sean páginas borradas al editar que las actualizaciones incrementales dejaron en el archivo. Añádelas, mira qué son y quítalas si sobran.

Cómo se usa

  1. Añade el PDF que no abre y lee la lista de diagnóstico.
  2. Si hay páginas fuera del árbol, decide si añadirlas al final.
  3. Ejecuta la reparación, revisa el número de páginas verificado y la vista previa, y descarga el PDF y el informe.

Términos clave

Tabla de referencias cruzadas (xref)
Lista del byte donde empieza cada objeto. Desde PDF 1.5 también puede guardarse como flujo xref comprimido.
Actualización incremental
Guardar añadiendo al final los objetos modificados y una nueva sección xref, sin reescribir el archivo.

Preguntas frecuentes

¿Reparar un PDF dañado lo deja exactamente como estaba?

Si solo estaban mal las direcciones, sí. Los datos que se cortaron no vuelven.

Se abre en un visor pero no en otro. ¿Por qué?

Cada visor tolera un grado distinto de daño. Los permisivos hacen por dentro un reescaneo parecido; escribir una xref limpia con esta herramienta suele permitir abrirlo también en los estrictos.

¿Sigue siendo válida la firma tras reparar?

No. El archivo se reescribe y las firmas digitales dejan de ser válidas. Si necesitas una firma verificable, pide al remitente una copia nueva.

¿Puede cambiar el orden de las páginas?

Si el árbol está bien, se conserva el orden. Solo al reconstruirlo se sigue el orden del archivo, que puede ser distinto.

Fuentes

Revisado el:

Privacidad y tratamiento de datos