BookinglyTech News
Software

Docxion: visor de código abierto para documentos Office en Android y web

Una librería Apache 2.0 muestra documentos Office en Android y web. El renderizado lo hace un visor TypeScript/React dentro de un WebView.

2 min de lecturaDev.to1 vista

Ver un PDF dentro de una aplicación es relativamente sencillo. Lo mismo no se puede decir de los formatos de Microsoft Office: DOC, DOCX, XLS, XLSX, PPT y PPTX tienen cada uno sus rarezas de renderizado. Para integrarlos suele uno acabar entre SDK propietarios, servicios externos o licencias que complican un producto comercial. Un desarrollador ha publicado Docxion para cubrir ese hueco: un visor de código abierto para esos formatos, con componentes para Android y la web, licenciado bajo Apache 2.0.

Cómo encaja Android y TypeScript

Docxion se estructura en tres piezas: una librería Kotlin para Jetpack Compose, un visor TypeScript/React que hace el trabajo pesado, y una aplicación de ejemplo. La librería Android mete el visor TypeScript en un WebView y expone una API Kotlin nativa. La comunicación es bidireccional: las llamadas Kotlin llegan a JavaScript a través de evaluateJavascript(), y el visor envía eventos de vuelta mediante un puente que dispara callbacks en el lado Android.

Desde la aplicación, el componente se maneja como cualquier otro elemento de Compose. Se pueden abrir y cerrar documentos, ir a una página, cambiar el zoom, ajustar al ancho, buscar texto, recorrer los resultados, leer la selección actual o imprimir. Si el usuario selecciona texto o cambia de página, la app se entera por los callbacks sin entrar en el entorno WebView.

Por qué plantea esta arquitectura

El autor deja claro que no busca competir con visores ya existentes. Lo que le interesaba era la integración: evitar mandar los documentos a un servicio remoto, abrir otra aplicación, construir el renderizado desde cero o atarse a un SDK propietario. Con Docxion, la separación entre la capa Android y el visor es intencionada. La librería no reimplementa el renderizado: el visor TypeScript es el mismo que se puede usar en web y evoluciona de forma independiente a la API nativa.

Estado del proyecto

Docxion está en desarrollo temprano. El autor anuncia soporte para los principales formatos ofimáticos, pero la cobertura y la fidelidad dependen de los renderizadores internos, que son la parte que aún está más verde. Las APIs y la estructura del proyecto pueden cambiar mientras tanto. Aun así, la propuesta es útil para quien necesita mostrar documentos Office dentro de una aplicación sin reventar el presupuesto de licencias, y sirve como base para estudiar cómo resolver ese problema en la práctica. La pregunta abierta es hasta dónde llegará la fidelidad con formatos antiguos y complejos.