Reparar PDF
Reconstruye PDF dañados o cortados para que vuelvan a abrirse
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
Este PDF está protegido con contraseña.
Seguir en otra herramienta
Procesando…
Todo se ejecuta dentro de este navegador. Tu archivo nunca se envía a un servidor.
Tu archivo está listo para descargar
Seguir con este resultado
Abrir vista previa de páginas
Al cambiar un ajuste se oculta el resultado anterior. Vuelve a generarlo para guardar los ajustes actuales.
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.
Procesando…
0.0
No se ha bloqueado: el resultado aparecerá cuando termine el cálculo.
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
- Añade el PDF que no abre y lee la lista de diagnóstico.
- Si hay páginas fuera del árbol, decide si añadirlas al final.
- 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
- Adobe — PDF 1.7 / ISO 32000-1:2008, 7.5 File structure (xref, trailer, incremental updates, object streams)
- PDF Association — ISO 32000 (PDF) resources
- PDF Association — Preparing for PDF files from the future
- pdf-lib — PDFDocument
Revisado el: