Qué tamaño de PDF puede manejar un navegador
¿Qué tamaño de PDF puede manejar realmente un navegador?
Guarda tus herramientas favoritas
Crea una cuenta gratuita de iBuildPDF para guardar tus herramientas favoritas y encontrarlas rápido cuando quieras.
Cuenta gratuita. Las herramientas PDF nunca necesitan una.
Respuesta breve
No hay un límite fijo: la restricción es cuánta memoria libre tiene el dispositivo, no un número dentro del software. En un ordenador de escritorio, los PDF de decenas de megabytes son algo habitual; un archivo de varios cientos de megabytes normalmente no lo es, y puede fallar en una máquina y funcionar en otra.
Qué marca realmente el límite
Las herramientas de iBuildPDF se ejecutan en tu navegador: el archivo se lee localmente, se procesa en JavaScript y se vuelve a guardar, sin subir nada. En cómo funcionan las herramientas PDF en el navegador explicamos el mecanismo. Ese diseño tiene una consecuencia directa sobre el tamaño: el límite es tu dispositivo, no la cuota de un servidor.
Por qué el tamaño del archivo es el número equivocado
- El archivo en el disco, comprimido.
- El mismo archivo una vez abierto. Las imágenes se descomprimen para trabajar con ellas, muchas veces más grandes que en disco.
- El límite es la memoria de tu dispositivo, no una cifra que elegimos nosotros: por eso el mismo archivo puede funcionar en un portátil y fallar en un móvil.
El archivo entero está en memoria a la vez
El navegador lee el archivo que eliges y lo carga en un ArrayBuffer: un único bloque de bytes en bruto guardado en memoria. No hay lectura por flujos desde el disco ni paginación del documento por partes. Un PDF de 60 MB son 60 MB de memoria antes de empezar ningún trabajo. El resultado se devuelve como un Blob, que el navegador puede volcar a disco pero que también nace en memoria.
El procesamiento necesita una segunda copia
La edición de PDF no se hace sobre el sitio. La biblioteca analiza la entrada y la convierte en objetos JavaScript, cambia lo que hay que cambiar y luego escribe un documento nuevo en un array de bytes nuevo. Durante un momento coexisten la entrada, el grafo de objetos analizado y la salida, así que el pico de memoria es aproximadamente un múltiplo del tamaño del archivo, no igual a él. Por eso un archivo que se abre perfectamente en un visor de PDF puede aun así ser demasiado grande para procesarlo: ver el documento renderiza una página cada vez, y procesarlo no.
No todos los dispositivos tienen el mismo margen
Un navegador de escritorio de 64 bits con varios gigabytes libres se comporta de forma muy distinta a un teléfono. Un proceso de navegador de 32 bits no puede direccionar mucha memoria, y un sistema operativo móvil matará una pestaña que crezca demasiado deprisa antes que dejarla usar memoria de intercambio. El mismo archivo, la misma herramienta y el mismo sitio pueden funcionar en un portátil y fallar en un móvil. Ninguno de los dos resultados es un error.
El lienzo tiene su propio techo, aparte
Todo lo que rasteriza una página —página a imagen, compresión de intensidad máxima, miniaturas— se dibuja en un lienzo HTML, y los navegadores imponen un tamaño máximo de lienzo: un tope de anchura, de altura y de superficie total. Chromium aplica ese tope, y no tiene nada que ver con lo grande que sea el archivo. Una sola página muy grande —un plano de arquitectura, un cartel, la exportación de una hoja de cálculo muy ancha— puede superarlo por sí sola, y por eso renderizar una única página sobredimensionada puede fallar mientras un documento largo de muchas páginas pasa sin problemas.
Además, el fallo es silencioso. Pasado el límite, el lienzo simplemente no produce nada: toBlob() devuelve null y la operación se detiene sin ningún error que lo explique. Por esa razón, iBuildPDF acota la escala de renderizado para mantenerse por debajo del tope, sacrificando algo de resolución de salida a cambio de una operación que termina.
Qué hemos medido realmente
Una cifra de nuestras propias pruebas da una idea del orden de magnitud. Un PDF de 49,4 MB con 23 fotografías grandes se comprimió en 2,9 segundos en Chromium de escritorio.
Interpreta el dato por lo que es. Es un único archivo, en una sola máquina, de un corpus que construimos nosotros mismos: los documentos eran sintéticos, elegidos para ser reproducibles más que representativos. Demuestra que un archivo de decenas de megabytes es trabajo normal para un navegador de escritorio. No es una promesa sobre tu archivo en tu dispositivo, y una máquina más lenta o más antigua tardará más o puede que no lo consiga.
El método y el resto de los resultados están detallados en el benchmark de compresión.
Qué aspecto tiene quedarse sin memoria
Los navegadores no informan de forma útil cuando se agota la memoria, así que conviene conocer las formas que adopta:
- La pestaña deja de responder. La página se congela, el indicador de progreso se para y el navegador puede ofrecerte cerrar o esperar. Puede que el trabajo siga en marcha; también puede que no termine nunca.
- La pestaña se cierra sola. Se recarga o muestra una página de error. No se pierde nada de tu archivo original —solo se leyó, nunca se modificó—, pero la operación se ha perdido.
- La operación falla sin motivo. Sin progreso, sin descarga, sin ningún error evidente. Este es el caso del lienzo que hemos descrito arriba, o una reserva de memoria que ha fallado en silencio en algún punto intermedio.
Por qué hay un aviso y no un tope
La herramienta de compresión muestra un aviso previo para los archivos de más de 80 MB. Es una advertencia, no un rechazo: el archivo se acepta igualmente y se procesa igualmente.
Es deliberado. Un tope estricto tendría que ser un número elegido sin saber nada de la máquina que hay al otro lado, y se equivocaría en las dos direcciones: rechazaría archivos que un escritorio maneja en segundos y aun así aceptaría archivos que un teléfono cargado de trabajo no puede. Decirte que un archivo grande puede ir lento y dejar que decidas tú es la opción más honesta.
Cómo sortear un archivo demasiado grande
Si un documento grande falla, o prefieres no descubrirlo por las malas, lo fiable es reducir el trabajo antes de empezar.
- Divídelo primero y procesa las partes. Usa dividir PDF para partir el documento en trozos, o extraer páginas para sacar solo el intervalo que necesitas. Procesar cuatro archivos de 20 MB uno detrás de otro exige mucho menos al navegador que uno de 80 MB, y después puedes unir los resultados.
- Dale espacio a la pestaña. Cierra antes otras pestañas y otras aplicaciones que consuman mucha memoria. El límite se comparte con todo lo que esté haciendo la máquina.
- Usa un ordenador de escritorio para los archivos más grandes. Para cualquier cosa que llegue a los cientos de megabytes, un portátil o un equipo de escritorio es una propuesta sustancialmente distinta a un teléfono.
- Si es un escaneado, el tamaño son las imágenes. Un PDF grande casi siempre es grande por las fotografías incrustadas o las páginas escaneadas, no por su texto. En cómo funciona la compresión de PDF explicamos por qué, y comprimir PDF suele ser el paso que hace cómodo todo lo que viene después.
Un último apunte que merece la pena decir: como el archivo no sale nunca de tu dispositivo, un fallo aquí no te cuesta más que tiempo. No hay ninguna subida a medias en un servidor, y tu archivo original en el disco queda intacto.
Herramientas que cubre este artículo
Fuentes
Documentación primaria de las afirmaciones anteriores.