Aitor Sánchez - Blog - Oct. 30, 2023, 9:24 a.m.
¿Necesitas, por ejemplo, leer un archivo PDF desde tu aplicación? O, quizás ya sabes cómo se hace, pero te falta conocer algún detalle cómo los parámetros de una función o los campos que tiene la clase Document Viewer para hacerla funcionar ¿verdad?
Mi nombre es Aitor Sánchez, soy desarrollador de apps desde 2014, y en este artículo vas a aprender, de manera sencilla y con ejemplos, a cómo visualizar buena cantidad de archivos en formatos diferentes dentro de tu aplicación
Pero antes de continuar, esta es la Flutter Mafia. Es mi newsletter donde aprenderás desarrollo de apps móviles, aso y monetización junto con otros genietes que ya están dentro. Y si te suscribes te regalo mi ebook "Duplica los ingreso de tus apps en 5 minutos" No es broma, quizás te interese.
Cómo podrás intuir por el nombre, se trata de una API que nos permitirá embeber dentro de nuestra aplicación un visto de documentos para buena cantidad de formatos actuales. Aunque lo normal será usarlo para leer PDFs.
Cómo todos los componentes desacoplados de Ionic, y cómo vemos en todos los artículos de Ionic de esta web, necesitamos instalar el módulo.
Para esto vamos a utilizar las siguientes dos líneas de código:
$ ionic cordova plugin add cordova-plugin-document-viewer
$ npm install --save @ionic-native/document-viewer@4
La primera instalará el plugin que permitirá la comunicación de la parte nativa del sistema con el código TS.
La segunda instalará el código TS necesario para poder comunicar nuestro código TS con el del componente.
En el caso de que estemos usando Ionic 4 o superior, y el módulo NGX, este paso no será necesario.
Para poder utilizar el Document Viewer necesitamos incluirlo en los “providers” del componente donde lo vayamos a usar. Digo componente porque no es necesario que se meta en los “providers” globales. De esta manera ahorramos en rendimiento y buenas prácticas.
import { DocumentViewer } from '@ionic-native/document-viewer';
...
providers: [
...,
DocumentViewer
...
]
...
La verdad que son las de “casi siempre” pero debo ponerlas porque mi trabajo es facilitarte la vida lo máximo posible:
Llegamos a lo que nos interesa, y porque seguramente estés aquí. Cómo podemos usar el módulo. Pero antes vamos a ver un ejemplo de código que nos va a permitir entenderlo todo mucho mejor:
import { DocumentViewer } from '@ionic-native/document-viewer';
constructor(private document: DocumentViewer) { }
...
const options: DocumentViewerOptions = {
title: 'My PDF'
}
this.document.viewDocument('assets/myFile.pdf', 'application/pdf', options)
Un código sencillo y 100% funcional en el caso de que tengamos un PDF situado ahí y con ese nombre.
Lo repito una vez más, es un código funcional pero demasiado simple. Habría, por ejemplo, y en caso de que lo quieras usar, darle rutas que estén comprobadas y existan. A parte ahora explicaré una cosa más que será muy útil usarlo en conjunto.
La explicación antes mencionada es: Para poder trabajar con este componente de una manera mucho más completa te aconsejo que revises el componente "File" de Ionic. Así podrás entender los conceptos mucho mejor para entender cómo funciona.
Ahora vamos a profundizar un poco más en la api Document Viewer Ionic, cómo hacemos siempre en esta parte, en que nos ofrece el DocumentViewer.
Recordemos que solo comentaré funcionalidad propia del componente, si lo que buscas está en alguno de los padres, aquí no aparecerá. Busca la información del módulo padre.
Estar funcionalidad, cómo su nombre indica, nos permite comprobar el estado del componente para ver si podemos hacer uso de él inmediatamente, todavía se está inicializando o si no vamos a poder usarlo.
Con esta función podremos controlar el estado del documento que queremos abrir. Así podremos comprobar si es posible, existe, o no se puede abrir dicho documento.
Esta es la función que nos permite visualizar el documento.
Llegamos a la zona que hemos estado posponiendo todo el artículo. Aquí te mostraré cuales son los campos que tenemos disponibles para usar junto a la apertura del documento. Vamos con ellos. Recuerda, todos los campos son opcionales.
Si optimizas y mejoras de manera constante el logo de tu aplicación, vas a recibir más descargas y vas a ganar más dinero. Es una estrategia coherente en la que la inversión en tipo/resultados suele ser positivo. Por esta razón, ya tienes disponible nuestra herramienta de mejora de logos. Con ella evaluas, optimizas y mejoras tu logo y puedes espiar los logos de la competencia. No te espoileo más, mira en este enlace.
Y ahora ya si, nos vemos en el siguiente artículo. Hasta entonces ¡que vaya bien!