Ir al contenido
documentflare
Tutoriales

Instalar Document Flare como una app: sin conexión, compartir en Android y doble clic

Ni tienda ni cuenta: instalación en dos clics, apertura de un PDF con doble clic, recepción vía el menú compartir de Android y funcionamiento sin conexión tras una primera visita en línea.

Tabla de contenidos

Una caja de herramientas PDF que se instala como una aplicación nativa — icono en el escritorio, ventana dedicada, archivos recibidos directamente desde el sistema — sin pasar por una tienda de aplicaciones ni crear una cuenta: es lo que permite el formato PWA (Progressive Web App). Document Flare explota todas sus capacidades, incluida la más rara: un funcionamiento completo sin conexión, tras una primera visita en línea.

Una aplicación sin tienda de aplicaciones

Una PWA es un sitio web acompañado de dos piezas: un manifiesto (manifest.webmanifest), que declara el nombre, los iconos y el modo standalone — la app se abre en su propia ventana, sin barra de direcciones — y un service worker, un script que se interpone entre la app y la red. Es él quien hace posible todo lo demás: instalación, apertura de archivos, modo sin conexión.

Consecuencia práctica: ni tienda, ni cuenta, ni condiciones de una plataforma tercera. Las actualizaciones llegan del propio sitio — y, como veremos, se proponen, nunca se imponen.

Instalar en dos clics

  1. Abre documentflare.com en Chrome o Edge, en ordenador o Android.
  2. Haz clic en el icono de instalación de la barra de direcciones — o, en el menú del navegador, «Instalar Document Flare» / «Añadir a la pantalla de inicio». En iOS, pasa por Safari: Compartir → «Añadir a pantalla de inicio».
  3. La aplicación se abre en su ventana y se une al lanzador, al escritorio o a la pantalla de inicio, como cualquier app instalada.

Reserva honesta: la instalación funciona en todas partes, pero las integraciones de sistema descritas a continuación — apertura directa y compartir — son patrimonio de los navegadores Chromium. Safari instala la app sin esos handlers.

Abrir un PDF con doble clic

El manifiesto declara un file_handlers: acción /?launch=open, para el tipo application/pdf y la extensión .pdf. Una vez instalada la app en Chrome o Edge (versión 102 o superior, en ordenador), un clic derecho sobre un PDF propone «Abrir con Document Flare» — y el doble clic puede convertirla en el gestor por defecto.

La mecánica es enteramente local: el navegador expone window.launchQueue, nuestro LaunchQueueBridge lee ahí los descriptores de archivos, extrae los objetos File y los inyecta en el espacio de trabajo mediante un relevo interno (handoff store). El documento queda abierto, listo para ser procesado — no ha transitado por ningún servidor.

El manifiesto declara también un gestor de protocolo web+documentflare:: un navegador compatible puede asociar esos enlaces a la aplicación. Un enlace web+documentflare:merge-pdf abre directamente la página de la herramienta — el slug está acotado al formato de los identificadores del catálogo, nunca una ruta arbitraria.

Recibir un PDF desde el menú compartir de Android

Segundo handler del manifiesto, share_target: un destino de compartición en POST multipart hacia /share-target, que acepta application/pdf. En concreto: desde el correo, el escáner o el gestor de archivos de Android, «Compartir → Document Flare» deposita el documento en la app.

El recorrido es defensivo por construcción. El service worker intercepta el POST — solo si se trata de una navegación —, verifica la firma %PDF- de cada archivo, acota el envío a 10 archivos y 100 Mio en total, luego deposita los archivos en un caché temporal de lectura única antes de redirigir al espacio de trabajo. El bridge recarga los archivos y el temporal se consume: nada persiste tras la apertura. A la salida de un escaneo, es el eslabón ideal — ver nuestra guía para escanear a PDF desde el móvil.

Sin conexión tras una primera visita en línea

La formulación exacta importa: Document Flare funciona sin conexión tras una primera visita en línea. En la primera carga, el service worker precachea la aplicación completa — 380 archivos, unos 8,4 Mio: páginas prerrenderizadas, código, iconos, manifiesto. El precaché avanza archivo a archivo; un corte o una cuota llena deja un estado «parcial», registrado y luego completado automáticamente al volver la red.

Después, tres estrategias:

  • Navegaciones: la red primero, con repliegue sobre la página cacheada, luego sobre el shell de la aplicación — nunca una página en blanco.
  • Assets de la aplicación: servidos desde el caché, en lista blanca estricta — ningún byte de documento puede entrar ahí.
  • Modelos pesados: el OCR Tesseract (worker, núcleo WASM, idioma francés — los otros cuatro idiomas bajo demanda) y la búsqueda semántica (~115 Mio de pesos ONNX) se descargan una vez en línea, luego persisten en un caché dedicado que sobrevive a las actualizaciones. Si abres esas herramientas sin conexión sin tener el modelo, la app lo dice antes de cualquier procesamiento — sin fallo silencioso.

Dos señales discretas completan el dispositivo: una insignia solo aparece sin conexión o con precaché parcial, y cuando una nueva versión está lista, un banner propone «Recargar» o «Más tarde» — el nuevo service worker espera tu gesto, nunca se impone en mitad de una sesión.

El escenario air-gapped, de verdad

Consecuencia de todo ello: tras una sesión en línea que haya descargado la app y los modelos deseados, puedes cortar la red — modo avión, equipo aislado, entorno air-gapped. Las 52 herramientas locales del catálogo funcionan, el historial también. Y es verificable en lugar de afirmado: en las herramientas de desarrollo, pestaña Red, marca «Sin conexión» y procesa un PDF — todo se ejecuta, y ninguna petición transporta el documento. La pestaña Aplicación → Cache Storage muestra los dos cachés, df-app-* y df-models-v1.

Una excepción asumida: siete herramientas marcadas «servicio remoto efímero» — conversiones Word/Excel/PowerPoint/HTML a PDF y a la inversa, resumen IA — envían el documento a un servicio efímero tras consentimiento explícito. Exigen conexión, por construcción, y se niegan a funcionar sin ella.

Historial local: en IndexedDB, purgable de un gesto

El historial del espacio de trabajo vive en IndexedDB, en tu dispositivo: metadatos y bytes de resultados, acotado a 20 entradas y ~25 Mio de bytes conservados — más allá, los bytes de las entradas más antiguas se desvinculan, los metadatos permanecen. El botón «Vaciar el espacio» purga íntegramente ese historial — nombres de archivos y bytes — así como los archivos cargados y los favoritos. Solo sobreviven las preferencias que desactivan el historial: son ajustes de privacidad, no datos.

Límites honestos

  • Primera visita en línea obligatoria: nada funciona sin conexión en frío, y el precaché representa ~8,4 Mio de descarga.
  • iOS: instalación posible vía Safari, pero ni la apertura directa de archivos, ni el destino de compartición, ni el gestor de protocolo están soportados.
  • Herramientas remotas: las siete conversiones/resumen mencionadas quedan fuera de alcance sin conexión.
  • IA del navegador: la traducción y el resumen locales reposan sobre los modelos de Chrome/Edge 138+, gestionados por el navegador — no por nuestro caché.
  • Precaché parcial: en caso de interrupción, la app sigue usable en línea y completa su caché al volver la red — pero el modo sin conexión solo está garantizado una vez el estado completo.

Para ir más lejos

El pilar sobre las herramientas PDF sin subida detalla la arquitectura local; el artículo sobre la privacidad del procesamiento local formaliza la promesa. Para encadenar herramientas sin volver a subir archivos, consulta el procesamiento por lotes. Y si el contexto es profesional, nuestros artículos sectoriales sobre sanidad y RRHH aplican estas garantías por oficio.