Ir al contenido
PDFhq

Cómo funciona pdfhq

Todas las herramientas se ejecutan dentro de tu navegador. Esta página nombra los motores que lo hacen, las licencias que llevan y la forma de comprobar tú mismo que no se envía nada a ninguna parte.

¿Qué se ejecuta y dónde?

Todo se ejecuta en tu navegador. Los motores están compilados a WebAssembly y cargados en la página, así que abrir un archivo lo entrega a código que ya está corriendo en tu máquina, y el resultado se escribe de vuelta sin ninguna petición de red por medio.

El trabajo pesado ocurre en workers y no en el hilo principal de la página, y por eso la interfaz sigue respondiendo mientras se reescribe un documento de doscientas páginas. En este producto no hay servidor de proceso: no operamos ninguno, así que la pregunta de qué guarda un servidor ni siquiera aparece.

¿Qué motor hace qué?

Seis, cada uno en el trabajo que mejor hace. Todos son de código abierto con licencia permisiva, y todos se sirven desde este dominio en lugar de buscarse en otro sitio en el momento en que los necesitas.

Los motores cargados en la página, sus licencias y las compilaciones exactas que servimos.
MotorDe qué se encargaLicenciaCompilación
qpdfEstructura, cifrado, linealización y reparaciónApache-2.0qpdf 12.2.0
PDFiumRenderizar páginas y leer texto, imágenes y campos de formularioBSD-3-Clause@embedpdf/pdfium 2.15.0
pdf-libComponer documentos, dibujar y rellenar formulariosMIT@cantoo/pdf-lib 2.8.2
TesseractReconocimiento de caracteresApache-2.0tesseract-wasm 0.11.0
mozjpegRecodificación reproducible de imágenes para la compresiónBSD-3-Clause@jsquash/jpeg 1.6.0
node-signpdfFirmas con certificadoMIT@signpdf 3.3.0

¿Por qué compiláis qpdf vosotros mismos?

Porque la compilación de WebAssembly ya hecha no puede reparar un archivo dañado. qpdf recupera una tabla de referencias cruzadas rota capturando el error que lanza su analizador, y esa compilación tiene las excepciones de C++ eliminadas, así que el código de recuperación nunca puede ejecutarse. Lo medimos con once tipos de daño, incluido el más fácil de reparar que existe, y falló en todos.

Por eso compilamos qpdf 12.2.0 nosotros mismos, a partir del código fuente original sin modificar y con las excepciones de WebAssembly activadas, en un contenedor fijado por digest y desde un archivo de fuentes fijado por suma de comprobación. La compilación es reproducible, los archivos de licencia y aviso de qpdf viajan junto al binario, y tu navegador comprueba ese binario contra su hash esperado antes de ejecutarlo. La reparación ahora reconstruye las tablas que debe, y un archivo que de verdad no tiene arreglo lo dice en lugar de fallar en silencio.

¿Cómo compruebo que no se sube nada?

En tu propio navegador, en unos treinta segundos, sin nada que no tengas ya. Hazlo con un archivo que no te importe abrir y observa qué hace la página.

  1. Abre las herramientas de desarrollo de tu navegador y ve al panel de Red. En Chrome, Edge y Firefox es F12; en Safari, activa antes el menú Desarrollo.
  2. Vacía la lista y filtra por Fetch y XHR para ver peticiones de datos y no imágenes ni hojas de estilo.
  3. Arrastra un PDF a cualquier herramienta del sitio y llévala hasta el resultado final, descarga incluida.
  4. Lee la lista. Las peticiones de binarios de motor desde este dominio aparecen la primera vez que usas una herramienta, y en ningún momento aparece nada que lleve tu documento.

¿Hay una prueba más dura?

Sí, y es más rápida. Usa una herramienta una vez para que los motores queden en caché, después desconéctate por completo de la red y úsala otra vez. El trabajo termina sin conexión, lo cual solo es posible porque tu archivo nunca necesitó ir a ninguna parte.

¿Qué se guarda en caché y durante cuánto tiempo?

La interfaz y los binarios de los motores. Cada binario vive en una dirección que incluye su versión, así que una compilación nueva es una dirección nueva y una en caché nunca puede quedarse obsoleta. Se guardan un año y las comparten todas las herramientas que usan el mismo motor.

Los documentos no se guardan nunca. Nada de lo que abres y nada de lo que produces lo escribe este sitio en almacenamiento, así que vaciar la caché te cuesta una descarga y no pierde ningún trabajo.

¿Qué no puede hacer esta colección?

Lo suficiente como para escribirlo. Todo lo que sigue es un límite real y no un hueco que pensemos cerrar el mes que viene, y allí donde una herramienta se topa con uno también lo dice en la propia herramienta.

¿Y si algo de aquí está mal?

Dínoslo y lo corregimos. Las versiones, licencias y límites de esta página están comprobados contra las compilaciones que realmente servimos, y la fecha bajo el título se mueve cuando cambian las palabras. Una corrección va por el formulario de contacto.