Página 1 de 1

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 11 Mar 2021 20:41
por rochinha
Amiguinhos,

Seu cliente solicitou impressão de etiquetas em impressoras Zebra? Mas você não tem uma nas mãos.

Veja esta dica MA.GA.VI.LIO.SA:

curl --get http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/ --data-urlencode "^XA^MMT^PW400^LL0400^LS0^FT5,384^A0N,41,40^FH\^FDwww.pctoledo.com.br^FS^BY1,3,99^FT70,322^BCN,,Y,N^FD>:Forum do Programador^FS^FT10,46^A0N,38,60^FH\^FDLinguagem ZPL^FS^BY1,3,104^FT96,182^B3N,N,,Y,N^FD1135265909+^FS^PQ1,0,1,Y^XZ" > label.png

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 11 Mar 2021 21:10
por Heero
Deus te abençoe! hahahahahaha

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 11 Mar 2021 22:45
por asimoes
Uma alternativa ao CURL
Pode salvar como PDF, PNG, JPG não testei BMP

Código: Selecionar todos

oServerWS := Win_OleCreateObject("MSXML2.ServerXMLHTTP")
oXMLDoc   := Win_OleCreateObject("MSXML2.DOMDocument")
   
cUrlWS := 'http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/' 
cData :=  '"^XA^MMT^PW400^LL0400^LS0^FT5,384^A0N,41,40^FH\^FDwww.pctoledo.com.br^FS^BY1,3,99^FT70,322^BCN,,Y,N^FD>:Forum do Programador^FS^FT10,46^A0N,38,60^FH\^FDLinguagem ZPL^FS^BY1,3,104^FT96,182^B3N,N,,Y,N^FD1135265909+^FS^PQ1,0,1,Y^XZ"'

nResolve := 5 * 1000  
nConnect := 5 * 1000  
nSend    := 30 * 1000  
nReceive := 30 * 1000  
   
With Object oServerWS
   :SetTimeouts( nResolve, nConnect, nSend, nReceive )
   :Open( "POST", cUrlWS, .F. )
   :SetRequestHeader( "Content-Length", hb_NtoS( 1024 ) )
   :Send( cData )
   Do While :readyState != 4
      :WaitForResponse( 1000 )
   Enddo
   cResp := :responseBody
   Hb_Memowrit("teste.pdf", cResp )
End

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 11 Mar 2021 23:13
por asimoes
Na documentação do WS

Código: Selecionar todos

:SetRequestHeader( "Content-Type", 'application/x-www-form-urlencoded; charset="utf-8"' )
Com ou sem o request, funciona.

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 11 Mar 2021 23:18
por asimoes
2021-03-11 23_18_10-Greenshot.png
Pode adicionar:

:SetRequestHeader( "Accept", "application/pdf")

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 11 Mar 2021 23:24
por asimoes
Agora completo

Código: Selecionar todos

oServerWS := Win_OleCreateObject("MSXML2.ServerXMLHTTP")
oXMLDoc   := Win_OleCreateObject("MSXML2.DOMDocument")
   
cUrlWS := 'http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/' 
cData :=  '"^XA^MMT^PW400^LL0400^LS0^FT5,384^A0N,41,40^FH\^FDwww.pctoledo.com.br^FS^BY1,3,99^FT70,322^BCN,,Y,N^FD>:Forum do Programador^FS^FT10,46^A0N,38,60^FH\^FDLinguagem ZPL^FS^BY1,3,104^FT96,182^B3N,N,,Y,N^FD1135265909+^FS^PQ1,0,1,Y^XZ"'

nResolve := 5 * 1000  
nConnect := 5 * 1000  
nSend    := 30 * 1000  
nReceive := 30 * 1000  
   
With Object oServerWS
   :SetTimeouts( nResolve, nConnect, nSend, nReceive )
   :Open( "POST", cUrlWS, .F. )
   :SetRequestHeader( "Content-Type", 'application/x-www-form-urlencoded; charset="utf-8"' )
   :SetRequestHeader( "Accept", "application/pdf")
   :SetRequestHeader( "Content-Length", hb_NtoS( 3000 ) ) //3000 é o máximo
   :Send( cData )
   Do While :readyState != 4
      :WaitForResponse( 1000 )
   Enddo
   cResp := :responseBody
   Hb_Memowrit("teste.pdf", cResp )
End

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 12 Mar 2021 12:15
por rochinha
Amiguinhos,

Bastou a semente para conseguimos o fruto. Parabens.

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 12 Mar 2021 13:23
por asimoes
rochinha escreveu:Amiguinhos,

Bastou a semente para conseguimos o fruto. Parabens.
Agradeço a você Rochinha que trouxe mais uma possibilidade para nos ajudar, eu só adicionei uma alternativa.

CURL: Previsualizar etiquetas ZPL sem impressora Zebra

Enviado: 22 Set 2021 14:02
por cleitonLC
asimoes escreveu:Uma alternativa ao CURL
Pode salvar como PDF, PNG, JPG não testei BMP

Código: Selecionar todos

oServerWS := Win_OleCreateObject("MSXML2.ServerXMLHTTP")
oXMLDoc   := Win_OleCreateObject("MSXML2.DOMDocument")
   
cUrlWS := 'http://api.labelary.com/v1/printers/8dpmm/labels/4x6/0/' 
cData :=  '"^XA^MMT^PW400^LL0400^LS0^FT5,384^A0N,41,40^FH\^FDwww.pctoledo.com.br^FS^BY1,3,99^FT70,322^BCN,,Y,N^FD>:Forum do Programador^FS^FT10,46^A0N,38,60^FH\^FDLinguagem ZPL^FS^BY1,3,104^FT96,182^B3N,N,,Y,N^FD1135265909+^FS^PQ1,0,1,Y^XZ"'

nResolve := 5 * 1000  
nConnect := 5 * 1000  
nSend    := 30 * 1000  
nReceive := 30 * 1000  
   
With Object oServerWS
   :SetTimeouts( nResolve, nConnect, nSend, nReceive )
   :Open( "POST", cUrlWS, .F. )
   :SetRequestHeader( "Content-Length", hb_NtoS( 1024 ) )
   :Send( cData )
   Do While :readyState != 4
      :WaitForResponse( 1000 )
   Enddo
   cResp := :responseBody
   Hb_Memowrit("teste.pdf", cResp )
End

Kkkkkk, show...fiz algo parecido dias atrás, mas com foco em impressoras Argox OS-2140 , no site https://layoutview.evolabel.com/, porém usando python...