Muchos sistemas móviles requieren la impresión, ya sea para facturas, boletas, recibos, etc...
Existen un conjunto de impresoras "móviles" que se conectan a los dispositivos vía conexión serial directa con el aparato o por medios inalámbricos (Infrarojo, Bluetooh, etc)
Es posible imprimir con estos dispositivos por medio de una aplicación .NET Mobile aunque
no se pueden visualizar los mismos en pantalla
Se diferencian 2 casos, los reportes modo texto y los reportes modo gráfico.
Los reportes modo texto pueden ser impresos en cualquier clase de impresora, sea modo texto o no.
Muchas veces no necesitamos grandes opciones de formato, lo que transforma a este tipo de reportes los mas sencillos de utilizar.
El único requerimiento es que en el caso de usar InfraRojo para conectarse a la impresora se debe tener en el sistema operativo el
Printer port driver.
La operativa es hacer un reporte modo texto, al imprimir muestra un dialogo de selección de impresora o archivo, en caso de ser archivo el mismo queda con extensión txt.
El caso de los reportes modo gráfico es un poco más complejo que los reportes modo texto, por lo que vale la pena analizar previamente si realmente son necesarios o se puden suplantar por reportes modo texto.
A diferencia de Windows, no hay un standar definido dentro del sistema operativo Mobile para la impresión modo gráfico (a diferencia de modo texto que se manda el buffer a la impresora directamente).
Por esta razón existen productos de terceros que implementan la interfaz entre las aplicaciones y la impresora.
La idea no es seleccionar un unico producto como interfaz, sino presentar un esquema lo suficientemente flexible de manera que se pueda incorporar cualquier herramienta de terceros.
Como ejemplo el generador trae incroporado como sería la implementación con
Printer CE
Printer CE es un producto de
Fieldsoftware
Es necesario descargar las dll's del siguiente
link
- PrinterCE.NetCF.dll
- PrCE_NetCF.dll
Copiandolas al directorio \bin del modelo y llevandolas al directorio de ejecución del dispositivo por medio del deployment de
GeneXus .
De esta forma al ejecutar un reporte modo gráfico se presenta un dialogo de selección de la impresora.
ATENCION
En caso de usar la versión TRIAL de la
Printer CE primero se presentan los siguientes dialogos que deben ser aceptados:
Como funciona?
En el directorio \bin del modelo existe un archivo PrinterAPI.dll que es la compilación de los archivos existentes en PrinterAPIsource.zip donde se muestra como es la implementación para usar un producto de terceros.
Nota: Se debe tener instalado el Visual Studio .NET para poder hacer lo siguiente
Si se necesita usar otro producto de terceros se debe instalar ese producto en el dispositivo o copiar las dll's al directorio de ejecución.
Por otro lado se debe modificar la PrinterAPI de la siguiente forma:
1 - Descomprimir el PrinterAPISource.zip en un directorio
2 - Copiar las dll's del producto de terceros a ese sirectorio y la gxclasses.dll
3 - Abrir el archivo PrinterAPI.csproj con lo que se abre el proyecto en el Visual Studio.NET
4 - En el proyecto abierto, se debe agregar la referencia a la GXclasses del directorio \bin
5 - A continuación se debe modificar la implementación de las siguientes funciones:
- Initialize
- NewPage
- EndDoc
- EndPrint
- DrawLine
- DrawRect
- DrawPicture
- DrawText
Usando las primitivas del producto a utilizar.
6 - Se debe compilar el proyecto copiando la PrinterAPI.dll generada al \bin