logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • About
  • Consola de usarios Ayuda
    • en
    • de
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Cómo crear un archivo ZPL en Delphi / C ++ Builder / Lazarus
  • Cómo generar código de barras ITF (intercalado, industrial, matricial) con Delphi / Lazarus / C ++ Builder

    11 de noviembre de 2020

    Un poco de teoría sobre los códigos de barras Es difícil imaginar nuestra vida sin códigos

    read more
  • Trabajar con gráficos y tablas en FastReport VCL

    22 de marzo de 2021

    Seguimos publicando artículos de apoyo para los estudiantes como parte del programa educativo de la

    read more
  • Cómo crear un Open Documents Spreadsheet desde Delphi / C++Builder / Lazarus

    3 de agosto de 2020

    Resumen de ODS y ODF ODS es un formato abierto para hojas de cálculo realizadas de

    read more
  • Conexión de un informe a los datos de FastReport en Lazarus

    26 de marzo de 2021

    En el artículo anterior sobre cómo trabajar con cuadros y gráficos, nos hemos familiarizado con

    read more
  • Cómo crear un archivo de texto de documento abierto (ODT) desde Delphi / C ++ Builder / Lazarus

    6 de agosto de 2020

    La extensión de archivo ODT se usa para archivos de texto Open Document, que

    read more

Cómo crear un archivo ZPL en Delphi / C ++ Builder / Lazarus

22 de diciembre de 2020

How to create a ZPL file in Delphi/ C++ Builder/Lazarus

¿Qué es el archivo ZPL?

ZPL

ZPL son las siglas de Zebra Programming Language. Permite al equipo crear el diseño de impresión deseado para cualquier etiqueta o página.

Esto hace que la etiqueta sea independiente del dispositivo de impresión específico. La impresora recibe comandos para producir formas, marcos, símbolos y otras cosas, y ella misma sabe cómo hacerlo. ¡Esta es la diferencia clave de ZPL!

Zebra Technologies inventó originalmente ZPL para crear e imprimir etiquetas (con códigos de barras, gráficos y cualquier texto) que se utilizan principalmente para actividades comerciales.

Brevemente sobre los pasos para crear una ZPL:

Primero, los datos se envían a la impresora utilizando el equipo (PC o terminales que recopilan la información), luego el procesador de la impresora Zebra procesa la información recibida e imprime el resultado.

ZPL

Brevemente sobre cómo escribir código ZPL:

Las medidas para imprimir se hacen en puntos, porque sin un valor exacto será bastante difícil hacer algo sin recibir errores. Debe estudiar la documentación del equipo de impresión y averiguar cuál es su densidad de píxeles (DPI).

El diseño en sí se crea con los siguientes comandos:

1. El código debe comenzar con la etiqueta ^ XA y terminar con ^ XZ;

2. Pero la etiqueta ^ FX precede a los comentarios;

3. ^ CF x, y, z - configuración de fuente predeterminada: la fuente, su altura y ancho;

4. ^ FO x, y - sangría izquierda y superior;

5. ^ FS - fin de línea;

6. Puede mostrar los datos con los valores ajustados de la siguiente manera:

FD <texto>
Bloque de texto:

FB <ancho>, <número de líneas>, <espacios entre líneas>, <alineación del texto>, <sangría para la segunda línea o la siguiente>
<posición del texto>:
L - alineado a la izquierda,
R - alineado a la derecha,
C - en el centro,
J: alinea el texto de acuerdo con el ancho del campo;

Creando rectángulos:

GB <ancho>, <alto>, <grosor de línea>, <color de línea>, <redondeo de esquinas>
Color de línea: B (negro) o W (blanco)
El redondeo de las esquinas se indica con un valor de 0 a 8.

7. Código de barras (tanto ZPL como impresora Zebra, creado directamente para códigos de barras) que consta de tres comandos:
dimensiones del código de barras (POR <ancho>, <relación de espesor de línea>, <altura del código de barras>);
su configuración:

BC <orientación>,
<altura del código de barras en puntos>,
<si imprimir el descifrado del código>,
<decodificación de códigos de barras>,
<modo> <orientación> - N - orientación normal;
R - 90 grados en el sentido de las agujas del reloj;
I - 180 grados;
B - 270 grados;
<si imprimir el descifrado del código>,
<decodificación del código sobre el código de barras> - valores Y (sí) o N (no);
<modo> - predeterminado N.

8. La salida del código de barras para imprimir se realiza mediante el comando FD <information>.

De hecho, no todo es tan simple, pero da una idea general del lenguaje ZPL.

Creación de un ZPL en Delphi / C ++ Builder / Lazarus

Entonces, ¿es posible enviar solo una imagen ordinaria o un documento "creado para ajustarse a la etiqueta" desde un editor de texto? ¿Podemos simplemente "dibujar en Canvas, enviar a la impresora" y dejar que el controlador lo averigüe por sí mismo? Sí, puede enviarlo, se imprimirá y, a menudo, se verá como uno real. El único problema es que las impresoras ZPL y Zebra están diseñadas principalmente para crear etiquetas a escala vectorial legibles por máquina y, a menudo, el resultado, debido a los pasos de rasterización y escala de imagen en el programa / controlador, no será legible por el escáner de código de barras. Si el escáner no reconoce sus códigos de barras, por lo general, tiene un problema con una imagen rasterizada y escalada. ¡Así que creemos un ZPL desde nuestra aplicación Delphi o Lazarus correctamente!

Usaremos la plataforma FastReport VCL, ya que guarda desde Delphi inmediatamente al formato requerido (Zebra Programming Language). Pero podemos usar más posibilidades: agregue imágenes, tablas, códigos de barras (¡y estos serán códigos de barras correctos y legibles por máquina!). Está claro que no tiene sentido enviar fotos de paisajes a una "impresora cebra", sino una imagen como la que está al principio del artículo, ¿por qué no?, ¡si es apropiado en nuestras etiquetas!)

Hay dos opciones para guardar el informe generado. El primero es guardar a través de la ventana de vista previa y el segundo es directamente a través del código Pascal.

Consideremos ambas opciones.
¡Ponte a trabajar! No solo agregamos los componentes de formulario que necesitamos para crear un informe y conectar fuentes de datos, ¡sino también un componente para la exportación ZPL!

Guardar un ZPL de Delphi / RAD Studio Lazarus desde la vista previa


La ventaja de este método es que vemos lo que estamos guardando, tenemos la oportunidad de comparar la vista previa con el resultado en ZPL. Y lo depuramos en nuestra computadora (en lugar de usar el equipo de nuestra desafortunada víctima) cuando el proyecto parece estar listo.

ZPL

Cree el documento.
Antes de guardar, mírelo en la ventana de vista previa, edita todo lo que no le guste.

Haga clic en el botón "Guardar".
Elije "archivo ZPL". Estoy escribiendo este artículo con casi todos los filtros de exportación conectados. En su caso (si SOLO tiene conectado el filtro de exportación ZPL) no habrá ningún otro elemento (excepto Informe preparado) en este menú.

 

ZPLAparecerá la ventana Exportar configuración. Configure todo lo que necesitemos y haga clic en “Aceptar”.

 

Más sobre la configuración:

Rango de páginas: rango de páginas para guardar;
Exportar configuración:
- Imprimir como mapa de bits: imprima como una imagen de matriz (NO HAGA esto para códigos de barras);
- Líneas de ruptura - líneas discontinuas;
- Resolución (ppp) - resolución de 152 a 600 ppp (de hecho, hay un conjunto de valores preestablecidos, formatos limitados - podemos seleccionarlos - se enumeran a continuación en el código);
Guardar en: guardar como un archivo en una PC, enviar por correo o al almacenamiento en la nube;
Abrir después de exportar - abrir después de guardar.

Guardar un ZPL desde el código Delphi / C ++ Builder / Lazarus

Exportación a ZPL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
procedure TForm1.Button18Click(Sender: TObject);
begin
 {Generate a report. The report must be generated before exporting}
frxReport1.PrepareReport();
 {Set the range of pages to export. By default, all pages of the generated report are exported}
frxZPLExport1.PageNumbers := '2-3';
 {Set whether to export the report as an image}
frxZPLExport1.PrintAsBitmap := True;
 {Set whether a sequence of end-of-line characters is needed at the end of each line}
frxZPLExport1.BreakLines := True;
 {Set resolution. Possible values: d6_dpmm_152_dpi, d8_dpmm_203_dpi, d12_dpmm_300_dpi, d24_dpmm_600_dpi, test1to1}
 frxZPLExport1.ZplDensity := d6_dpmm_152_dpi;
 {Set whether to open the resulting file after export}
 frxZPLExport1.OpenAfterExport := False;
 {Set whether to display export progress
  (show which page is currently being exported)}
 frxZPLExport1.ShowProgress := False;
 {Set whether to display the export filter settings dialog box}
 frxZPLExport1.ShowDialog := False;
 {Set the name of the resulting file.}
 {Please note that if you do not set the file name and disable the export filter dialog box,}
 {the file name selection dialog will still be displayed}
 frxZPLExport1.FileName := 'C:\Output\test.zpl';
 {Export the report}
 frxReport1.Export(frxZPLExport1);
end;

Como puede ver, crear e imprimir etiquetas Zebra desde Delphi (en aplicaciones de Windows) y desde Lazarus (aplicación de Linux) es bastante simple. Este método se utiliza en miles de puntos de venta en todo el mundo.

about product comprar
avatar
Michael Philippenko
VP
Fast Reports Team: Michae Philippenko - VP at Fast Reports
VCL Export Lazarus FastReport ZPL Delphi

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Comprar
  • Descargar
  • Documentación
  • Opiniones de usuarios
  • Cómo desinstalar nuestros productos
  • FAQ
  • Toturial en vídeo
  • Foro
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Extended licensing
  • Contactos

© 1998-2023 by Fast Reports Inc.

  • Privacidad