Você está na página 1de 25

Treinamento

ZPL II
Agenda

Tópicos

 Apresentação
 ZPL II Overview
 ZPL II
 Setup JDA
Irai Fernandes Daniele
MBA Engenharia de Software /
Especialista em Ciência de Dados e Big Data Analytics

Tenho 23 anos de experiência em sistemas, com Graduação em


Processamento de Dados na USJT, MBA em Engenharia de
Software na FIAP e Especialização em Data Science na Estacio

Curriculum Profissional

 DHL - IT Specialist
 Tech Mahindra – Consultor Oracle DB/ WMS
 Whirlpool – Consultor Oracle DB / CRM
 Atos Origin – Consultor Baan IV ERP
 Nortel Telecomunicações – Consultor Oracle DB / Baan IV
ERP
 Philips – Consultor Oracle DB/ Baan IV ERP
 Ervy – Consultor Oracle DB/ Baan IV ERP
 Gyotoko – Consultor Oracle DB / Baan IV ERP
 HQS – Consultor Oracle DB/ Baan IV ERP
• PARTICIPE
• PERGUNTE
• COMPARTILHE IDEIAS
ZPL II
Overview
ZPL II Overview

Conceito

ZPL II

ZPL II (Zebra Programing Language II) é a “Linguagem de programação da Zebra”. Entende-se como sendo
linguagem de programação da Zebra a sequência de comandos (instruções internas à impressora) que
determinarão o lay out das etiquetas a serem impressas.
A Zebra possui um software (firmware) interno, responsável pela interpretação da sequência de comandos
acima citadas. Esse software interno já vem instalado dentro da máquina em EPROM (memória interna do
equipamento), não necessitando de nenhum tipo de instalação do usuário quando receber o
equipamento, ou seja, não existe a necessidade de nenhum software externo para a interpretação do ZPL.
ZPL II
ZPL II

Layout

Layout de Etiqueta

Antes de fazer o ZPL é necessário sabermos qual a etiqueta a ser impressa, para isso será necessário
determinarmos o lay out da etiqueta. É recomendado efetuar este lay out em papel milimetrado, criando
assim, um desenho da mesma para se obter as localizações e o tipo de campo (texto, código de barras,
imagens) a ser impresso.
ZPL II

Layout

Localização dos Campos

Para a impressão de cada campo da etiqueta deve ser determinada a localização do mesmo na etiqueta.
A área onde estará a etiqueta é um plano cartesiano X,Y. Para facilitar, as medidas deverão ser fornecidas
em milímetros para depois serem convertidas em pontos (unidade de trabalho para determinar
coordenadas e dimensões no ZPL), de acordo com a densidade da cabeça de impressão da máquina que
está sendo usada.

Conversão de Milímetros em Pontos

pontos = mm * pto

Utilizando a tabela seria por exemplo, 100 mm para a Z140Xi igual 1200 pontos.
ZPL II

Layout

Formatação e Geração

A impressora, ao receber o comando de início de formato, abre uma área de formatação onde colocará o
restante do arquivo contendo os dados de parâmetros gerais e o conteúdo da etiqueta. Ao receber o
comando de fim de formato ela encerra esta área, formata e imprime a etiqueta, isto é, o layout é
montado na memória da impressora.

Inicio/
Dados Setup

Término
/Layout

Impressão
ZPL II

Comandos

Syntaxe dos Comandos

Todos os comandos utilizados para determinar o conteúdo da etiqueta terão a seguinte syntaxe:

PREFIXO COMANDO PARÂMETROS

Por exemplo: Prefixos

 ^ (Circunflexo): Formatação da
^FO10,10 etiqueta;
 ~(Til): Comandos que são
Prefixo
executados antes da formatação
Comando da etiqueta;

Parâmetros
ZPL II

Comandos

Comandos mais utilizados

• ^XA: Inicio da etiqueta;


• ^XZ: Fim da Etiqueta;
Sempre que tivermos um ^XA e ^XZ a impressora entende que é um início e o fim de uma etiqueta;

• ^FD: É o comando que determina o conteúdo de um campo. Tudo que vier entre o ^FD e o ^FS será o
conteúdo dos comandos de natureza, ou seja, texto ou o código de barras a serem impressos.
• ^FS: É o comando que indica o fim da definição de um campo. Ao final de cada linha que indique o
conteúdo de um campo deve ser colocado um ^FS;
• ^LL: Trata-se de um comando de parâmentros gerais (deve ser colocado no início da etiqueta). Ele é
responsável por determinar o comprimento da etiqueta. Este comando é utilizado quando a
impressora estiver operando com etiquetas contínuas, para etiquetas não contínuas o comprimento da
etiqueta é determinado pelo sensor da máquina no momento da calibragem;
Syntaxe:
^LLa
Comprimento em pontos (Conversão Tabela)
ZPL II

Comandos

Comandos mais utilizados

• ^FO/^FT: Este comando define as coordenadas de início dos campos (texto, códigos de barras e
imagem) na etiqueta;
Syntaxe:
^FOx,y
Coordenada Eixo X (pontos)

Coordenada Eixo Y (pontos)


ZPL II

Comandos

Comandos mais utilizados

• ^A: Define qual o tipo de fonte, sua rotação e dimensões;


Syntaxe:
^Aab,c,d
Tipo da Fonte Largura do Fonte (pontos)

Rotação N, R, I e B Altura do Fonte (pontos)

Rotação
(N) NORMAL (R) ROTACIONADO
(B) BOTTON UP

(I) INVERTIDO
ZPL II

Comandos

Comandos mais utilizados

• ^B: Bar Code;


Syntaxe:
^Bab,c,d,e
Padrão do CB Linha de Interpretação acima? Y/N

Rotação N, R, I e B Inclui Linha de Interpretação? Y/N

Rotação Altura do CB (pontos)


(R) ROTACIONADO

(N) NORMAL
(B) BOTTON UP

(I) INVERTIDO
ZPL II

Comandos

Comandos mais utilizados

• ^GB: Graphic Box;


Syntaxe:
^GBa,b,c,d
Cor da Linha (B)Preto ou (W)Branco

Largura do Box (pontos) Espessura da Borda (pontos)

Altura do Box (pontos)

• Para mais comando: Manual de Comandos ZPL -> Adobe Acrobat


Document
Setup JDA
Setup JDA

Arquivos de Setup

Setup

No JDA para parametrizarmos a etiqueta precisamos de dois arquivos criados no servidor:

Label.pof: Arquivo com extensão .pof é o layout da etiqueta, o zpl propriamente dito, neste
arquivo estarão contidos tanto os campos estáticos como os campos providos pela query, é
neste arquivo também, que informamos qual arquivo msql deverá ser chamado, este arquivo
deve estar no diretório $LESDIR\ z140xiII;

Label.msql: Arquivo com extensão .msql é a query ou comando de extração dos dados e o
mesmo deve estar no diretório $LESDIR\ z140xiII;
Setup JDA

Arquivos de Setup

Exemplo:
Label.pof
^XA~CMD_FILE=label.msql,15~
^FO5,10^GB630,467,2^FS
^FT330,60^A0N,32,32^FDData:^FS
^FT430,60^A0N,42,38^FD~dt_label,30~^FS
^FT330,90^A0N,32,32^FDPedido:^FS
^FT430,90^A0N,32,32^FD~ordnum,30~^FS
^FT330,120^A0N,32,32^FDNF:^FS
^FT430,120^A0N,32,32^FD~nf,30~^FS
^FO5,140^GB630,0,2^FS
^FT15,180^A0N,32,32^FD~adrnam,30~^FS
^FT15,220^A0N,22,22^FDEndereco:^FS
^FT140,220^A0N,22,22^FD~adrln1,30~^FS
^FT15,260^A0N,22,22^FDBairro: ~adrln2,30~ - CEP: ~adrpsz,30~^FS
^FT15,300^A0N,22,22^FDCidade: ~adrcty,30~ - UF: ~adrstc,30~^FS
^FO5,310^GB630,0,2^FS
^FT30,370^A0N,32,32^FDPedido^FS
^FO30,380^BY2^BCN,90,N,N^FD>:~ordnum,30~^FS
^XZ
Setup JDA

Arquivos de Setup

Exemplo:
Label.msql
[select dados.ordnum, dados.adddte, dados.cponum, dados.adr_id, dados.adrnam, dados.adrln1, dados.adrln2,
dados.adrcty, dados.adrpsz, dados.adrstc, dados.nf, dados.dt_label, dados.dstloc, dados.ship_id,
row_number() over (partition by dados.ship_id, dados.ordnum order by dados.ship_id, dados.ordnum) vol
from (select distinct od.ordnum, od.adddte, od.cponum, ad.adr_id, ad.adrnam, ad.adrln1, ad.adrln2, ad.adrcty,
ad.adrpsz, ad.adrstc, od.uc_ord_vfld3 nf, to_char(sysdate,'DD/MM/YYYY HH24:MI:SS') dt_label,
lc.dstloc, pc.ship_id
from pckwrk_view pc, shp_dst_loc lc, ord od, adrmst ad
where pc.ordnum = nvl(@ordnum, pc.ordnum)
and pc.client_id = 'CID01‘ and pc.wh_id = 'WH01'
and lc.ship_id = pc.ship_id and lc.wh_id = pc.wh_id
and od.ordnum = pc.ordnum and od.client_id = pc.client_id
and od.wh_id = pc.wh_id and ad.adr_id = od.st_adr_id
and ad.client_id = od.client_id
order by od.ordnum) dados,
(select level etq
from dual
connect by 1=1 and level <= 10000) volume
where volume.etq <= dados.cponum ]
Setup JDA

Configuração JDA

Setup

Existem três passos a seguir para a criação da label no JDA, segue:

1. Criação do Formato: O nome do formato deve ser o mesmo nome do arquivo com a extensão pof;
Setup JDA

Configuração JDA

2. Criação do Tipo do Documento: Nesta configuração devemos associar o tipo ao formato e incluir os
parâmetros;
Setup JDA

Configuração JDA

3. Criação do Impressora: Neste passo criaremos a impressora no JDA, lembrando que a impressora deve
estar configurada no servidor e com o driver TextOnly;
Setup JDA

Execução

Execução da Label

Para executar a label entrar no action Reprint, selecionar as informações referentes a etiqueta e clicar no
print, será gerado um arquivo no diretório $LESDIR\labels com o nome do formato da etiqueta e um
sequencial, por exemplo label_NumeroSequencial.out:
Obrigado!

Dúvidas - irai_fer@Hotmail.com
Mar/2019