Hola, yo lo resolví en Genexus 15 y quise compartirlo, fue de la siguiente manera:
Pasos para imprimir código ZPL en cliente Genexus 15
- Crear un procedimiento
- Crear una variable &Commands de tipo LongVarChar(10000)
- En el Layout agregar la variable &Commands
- Convertir el reporte en modo texto. En un espacio en blanco del reporte, dar click derecho y Convert to text mode
- En el Source asignar a la variable &Commands el codigo ZPL
- Agregar el comando para imprimir el Printblock que es Print Printblock1
- En la propiedades del procedimiento configurar lo siguiente: "Report Output" como "Only to Printer" y "Output device location" como "Client"
- Crear un botón el cual tendrá un evento
- Hacer la llamada al procedimiento en el evento creado en el Web Panel: PReport.Call()
- En el Evento Start agregar el código: Form.JScriptSrc.Add("gxprint.js")
- Acceder a las impresoras donde se abrirá la aplicación
- Agregar una impresora local, en las configuraciones, seleccionar el puerto LPT1, Seleccionar el fabricante Generic y la impresora Generic/Text Only
- Una vez creada, dar click derecho y Propiedades de impresora, seleccionar la pestaña Puertos
- Veremos que esta asignada al puerto LPT, por lo tanto lo vamos a cambiar al puerto USB001
- Ahora entrar a las propiedades de la impresora Zebra, acceder a la pestaña Puertos, y cambiarla del puerto USB001 al LPT1
- Ejecutar el archivo gxprintserver.jar, el cual viene incluido en la ubicación de los archivos de la aplicación
- Abrir nuestra aplicación y presionar el botón que hace el llamado al procedimiento y saldrán nuestras etiquetas.
Saludos.