none
Imprimir imagem na impressora Zebra TLP 2844 RRS feed

  • Pergunta

  • Boa tarde Pessoal. Por favor alguém me salva desse pesadelo

    O meu problema é o seguinte:

    Tenho uma impressora Zebra TLP 2844 e conseguir gerar pelo software deles que é o Zebra Designer um arquivo chamado ( etiquetapadraobiodsystem.prn) com o seguinte conteudo que gera uma linguagem EPL abaixo:

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D8
    ZT
    JF
    OD
    R175,0
    f100
    N
    A458,152,2,1,1,1,N,"Reg. do Ministerio da saude:"
    A458,181,2,1,1,1,N,"Fone:(21)999-999 Fax:(21) 999-9999"
    A459,51,2,1,1,1,N,"Produto"
    A459,69,2,1,1,1,N,"Lote_codfab_val"
    A458,167,2,1,1,1,N,"Barcelona-Espanha"
    A178,152,2,1,1,1,N,"Reg_saude"
    A288,137,2,1,1,1,N,"Val_reg"
    A458,137,2,1,1,1,N,"Validade do Reg.:"
    A458,196,2,1,1,1,N,"CRBIO n-38461/02 RJ"
    A458,211,2,1,1,1,N,"Resp. Tecnico Fabio da Costa Rocha"
    A459,240,2,1,1,1,N,"Sala,319,Benfica-Rio de Janeiro-RJ"
    A458,226,2,1,1,1,N,"CNPJ: 08.044.840/0001-68"
    A458,270,2,1,1,1,N,"Dianostica Rio Prod e Serv. med. Hosp. Ltda"
    A459,285,2,1,1,1,N,"Eurotech por:"
    A460,301,2,1,1,1,N,"Importado e distribuido sob autorizacao da"
    A458,255,2,1,1,1,N,"Endereco:Rua Capitao Felix,110,Bloco Nobre"
    P1

    Até o momento eu consigo imprimir isso normalmente pelo comando no C# abaixo:

    System.IO.File.Copy(etiquetapadraobiodsystem.prn, "\\\\INFOVALE-PC\\ZDesigner TLP 2844", true);

    O meu grande problema é como imprimir uma figura nessa impressora. Qual seria a linha de comando. Eu não tenho a minima ideia.

    Por favor alguém pode me ajudar?

    Att

    Fabricio Vale


    Fabricio

    quarta-feira, 12 de agosto de 2015 15:42

Respostas

  • William isso não vai funcionar.

    Isso não serve. Eu tenho que mandar um arquivo.prn com um código de barra e não uma imagem qualquer.

    A zebra TLP_2844 não codifica QR_COde. Ela codifica apenas os seguintes códigos (

    EAN13,EAN8,UPC A, UPC E, I20F5,CODE39,
    CODE128,CODE128A,CODE128B,
    CODE128C,CODEBAR,POSTNET32,CODE93,PDF417,
    DATAMATRIX,MAXICODE,EAN128,CODE39EXT,
    EAN13+2,EAN8+5,UPC A+2,UPC A+5,UPC E+5,POSTNET62

    O codigo que foi testado com a linguagem EPL foi o (PDF417)

    Segue a linguagem EPL abaixo:

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    A460,158,2,1,1,1,N,"Texto11"
    A460,187,2,1,1,1,N,"Texto9"
    A460,102,2,1,1,1,N,"Texto14"
    A460,120,2,1,1,1,N,"Texto13"
    A460,172,2,1,1,1,N,"Texto10"
    A460,291,2,1,1,1,N,"Texto2"
    A460,143,2,1,1,1,N,"Texto12"
    A460,202,2,1,1,1,N,"Texto8"
    A460,217,2,1,1,1,N,"Texto7"
    A460,231,2,1,1,1,N,"Texto6"
    A460,276,2,1,1,1,N,"Texto3"
    A460,246,2,1,1,1,N,"Texto5"
    A460,306,2,1,1,1,N,"Texto1"
    A460,261,2,1,1,1,N,"Texto4"
    b358,84,P,480,320,s0,x3,y10,r90,l1,f0,o2,"codbar"
    P1

    Nas variaveis de Texto1 até Texto14 são string. Agora a variável codbar refere-se a codigo de barra tipo (codigo de fabrica,lote e validade) que você vai inserir uma string no lugar dessa variavel. Deixa que a impressora gera esse codigo automaticamente.

    Essa é unica forma de fazer isso. Não existe outra. Esse arquivo vc vai gerar na Zebra Designer e gerar um arquivo.prn

    Nesse arquivo ai sim que vc vai fazer as modificações acima.

    Caso resolvido!

    Mais uma vez obrigado pessoal.


    Fabricio

    • Marcado como Resposta Fabriciovale quinta-feira, 13 de agosto de 2015 19:27
    quinta-feira, 13 de agosto de 2015 19:27
  • Nao... atualmente eu nao trbalho mais na mesma empresa que eu trabalhava na época em que nos faziamos uma interface com a ZEBRA, mas o comando GW gerado à partir do Zebra Design funcionava normalmente e o codigo era bem parecido com o seu.

    Voce tem certeza que a figura esta sendo colocada dentro da area de impressao da etiqueta?

    veja:

    GW205,20,8,63

    isso diz para imprimir a figura na posiçao 205 horizontal e 20 vertical com 8 pixels de largura por 63 de altura

    faça o seguinte teste

    mude para 

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    GW460,158,63,ñÀãÀ ñÀãÀ ñÀãÀ ãÿøÇÿñãÿøÇÿñãÿøÇÿñð àqÇ qð àqÇ qð àqÇ qãøãÇ qãøãÇ qãøãÇ qñÇÇ qñÇÇ qñÇÇ qðÿÇÿñðÿÇÿñðÿÇÿñ qÿÿÀ  qÿÿÀ  qÿÿÀ þüqÿÿÿþüqÿÿÿþüqÿÿÿþ àqÀàþ àqÀàþ àqÀàð8ÿøàð8ÿøàð8ÿøàŽ àqÀÿŽ àqÀÿŽ àqÀÿ ~8ãÿÿ ~8ãÿÿ ~8ãÿÿãñÿÇqãñÿÇqãñÿÇqÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿ  qÀ   qÀ   qÀ ÿÇãÇÿñÿÇãÇÿñÿÇãÇÿñÇ qÇ qÇ qÇ qÇ qÇ qÇÿÇ qÇÿÇ qÇÿÇ qÇ Ç qÇ Ç qÇ Ç qÿÇàqÇÿñÿÇàqÇÿñÿÇàqÇÿñ  ÿÿÀ   ÿÿÀ   ÿÿÀ 
    A460,261,2,1,1,1,N,"Texto4"
    P1



    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Fabriciovale sexta-feira, 21 de agosto de 2015 17:20
    quarta-feira, 19 de agosto de 2015 15:57
    Moderador
  • Boa tarde

    muito show. funcionou

    irmão muito  muito  muito  muito  

    muito  muito  muito  muito  muito 

    muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito 

    obirgado!

    Vlw mesmo

    Assim funciona

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    GW205,20,8,63,ñÀãÀ ñÀãÀ ñÀãÀ ãÿøÇÿñãÿøÇÿñãÿøÇÿñð àqÇ qð àqÇ qð àqÇ qãøãÇ qãøãÇ qãøãÇ qñÇÇ qñÇÇ qñÇÇ qðÿÇÿñðÿÇÿñðÿÇÿñ qÿÿÀ  qÿÿÀ  qÿÿÀ þüqÿÿÿþüqÿÿÿþüqÿÿÿþ àqÀàþ àqÀàþ àqÀàð8ÿøàð8ÿøàð8ÿøàŽ àqÀÿŽ àqÀÿŽ àqÀÿ ~8ãÿÿ ~8ãÿÿ ~8ãÿÿãñÿÇqãñÿÇqãñÿÇqÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿ  qÀ   qÀ   qÀ ÿÇãÇÿñÿÇãÇÿñÿÇãÇÿñÇ qÇ qÇ qÇ qÇ qÇ qÇÿÇ qÇÿÇ qÇÿÇ qÇ Ç qÇ Ç qÇ Ç qÿÇàqÇÿñÿÇàqÇÿñÿÇàqÇÿñ  ÿÿÀ   ÿÿÀ   ÿÿÀ 
    A460,261,2,1,1,1,N,"Texto4"
    P1

    DEUS lhe ajude. vlw mesmo



    Fabricio

    • Marcado como Resposta Fabriciovale sexta-feira, 21 de agosto de 2015 17:22
    sexta-feira, 21 de agosto de 2015 17:22

Todas as Respostas

  • De uma olha nesse projeto:

    http://www.codeproject.com/Tips/667062/Print-Image-to-Zebra-Printer-using-EPL-Language

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quarta-feira, 12 de agosto de 2015 16:08
    Moderador
  • William isso não vai funcionar.

    Isso não serve. Eu tenho que mandar um arquivo.prn com um código de barra e não uma imagem qualquer.

    A zebra TLP_2844 não codifica QR_COde. Ela codifica apenas os seguintes códigos (

    EAN13,EAN8,UPC A, UPC E, I20F5,CODE39,
    CODE128,CODE128A,CODE128B,
    CODE128C,CODEBAR,POSTNET32,CODE93,PDF417,
    DATAMATRIX,MAXICODE,EAN128,CODE39EXT,
    EAN13+2,EAN8+5,UPC A+2,UPC A+5,UPC E+5,POSTNET62

    O codigo que foi testado com a linguagem EPL foi o (PDF417)

    Segue a linguagem EPL abaixo:

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    A460,158,2,1,1,1,N,"Texto11"
    A460,187,2,1,1,1,N,"Texto9"
    A460,102,2,1,1,1,N,"Texto14"
    A460,120,2,1,1,1,N,"Texto13"
    A460,172,2,1,1,1,N,"Texto10"
    A460,291,2,1,1,1,N,"Texto2"
    A460,143,2,1,1,1,N,"Texto12"
    A460,202,2,1,1,1,N,"Texto8"
    A460,217,2,1,1,1,N,"Texto7"
    A460,231,2,1,1,1,N,"Texto6"
    A460,276,2,1,1,1,N,"Texto3"
    A460,246,2,1,1,1,N,"Texto5"
    A460,306,2,1,1,1,N,"Texto1"
    A460,261,2,1,1,1,N,"Texto4"
    b358,84,P,480,320,s0,x3,y10,r90,l1,f0,o2,"codbar"
    P1

    Nas variaveis de Texto1 até Texto14 são string. Agora a variável codbar refere-se a codigo de barra tipo (codigo de fabrica,lote e validade) que você vai inserir uma string no lugar dessa variavel. Deixa que a impressora gera esse codigo automaticamente.

    Essa é unica forma de fazer isso. Não existe outra. Esse arquivo vc vai gerar na Zebra Designer e gerar um arquivo.prn

    Nesse arquivo ai sim que vc vai fazer as modificações acima.

    Caso resolvido!

    Mais uma vez obrigado pessoal.


    Fabricio

    • Marcado como Resposta Fabriciovale quinta-feira, 13 de agosto de 2015 19:27
    quinta-feira, 13 de agosto de 2015 19:27
  • Voce nao leu o projeto:

    Nele explica como usar o comando GW (leia no manual da zebra). O tipo de arquivo de imagem tem que ser um PCX com resoluçao de cor de 1bit, ou seja, preto e branco.

    Mas em nenhum momento voce nos falou que queria imprimir uma QR. Eu nao sei onde voce viu, talvez sua impressora seja muito antiga, mas a Zebra imprime sim QR nativamente com o codigo ZPL (versao nativa e proprietaria do EPL)

    ^XA^FO100,100^BQN,2,10^FDYourTextHere^FS^XZ

    https://km.zebra.com/kb/index?page=content&id=SA315&actp=RSS

    E aqui o manual da linguagem:

    https://support.zebra.com/cpws/docs/zpl/zpl_manual.pdf

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    quinta-feira, 13 de agosto de 2015 19:47
    Moderador
  • Bom dia! William

    A minha impressora é linguagem EPL esse tipo de linguagem ZPL a impressora TLP 2844 não consegue interpretar. Eu testei os códigos abaixo e não imprimi nada.

    ^XA
    ^FO20,30^GB750,1100,4^FS
    ^FO20,30^GB750,200,4^FS
    ^FO20,30^GB750,400,4^FS
    ^FO20,30^GB750,700,4^FS
    ^FO20,226^GB325,204,4^FS
    ^FO30,40^ADN,36,20^FDShip to:^FS
    ^FO30,260^ADN,18,10^FDPart number #^FS
    ^FO360,260^ADN,18,10^FDDescription:^FS
    ^FO30,750^ADN,36,20^FDFrom:^FS
    ^ISR:SAMPLE.GRF^FS
    ^XZ


    outro

    ^XA^FO100,100^BQN,2,10^FDYourTextHere^FS^XZ e não funciona

    William o caso do link abaixo que vc me passou eu até conseguir fazer para imprimir os texto mas quando chega na imagem da erro nesse nome (Utils), que classe é essa no Netframeworks, que eu não consigo importar. Da aonde vem esse (Utils)? Já procurei e não achei em Lugar nenhum.

    A minha aplicação esta rodando em VS 2010. O projeto é Web.

    str +=  Utils.SendImageToPrinter( 50, 50, System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + caminho+arquivo); 

    Att

    Fabricio Vale


    Fabricio

    segunda-feira, 17 de agosto de 2015 12:24
  • O autor do topico nao postou o projeto, mas postou o metodo:

    private static string SendImageToPrinter( int top, int left, System.Drawing.Bitmap bitmap)
    {
       using (MemoryStream ms = new MemoryStream())
       using (BinaryWriter bw = new BinaryWriter(ms, Encoding.ASCII))
       {
           //we set p3 parameter, remember it is Width of Graphic in bytes,
           //so we divive the width of image and round up of it
           int P3 = (int)Math.Ceiling((double)bitmap.Width / 8);
           bw.Write(Encoding.ASCII.GetBytes(string.Format
           ("GW{0},{1},{2},{3},", top, left, P3, bitmap.Height)));
           //the width of matrix is rounded up multi of 8
           int canvasWidth = P3 * 8;
           //Now we convert image into 2 dimension binary matrix by 2 for loops below,
           //in the range of image, we get colour of pixel of image,
           //calculate the luminance in order to set value of 1 or 0
           //otherwise we set value to 1
           //Because P3 is set to byte (8 bits), so we gather 8 dots of this matrix,
           //convert into a byte then write it to memory by using shift left operator <<
           //e,g 1 << 7  ---> 10000000
           //    1 << 6  ---> 01000000
           //    1 << 3  ---> 00001000
           for (int y = 0; y < bitmap.Height; ++y)     //loop from top to bottom
           {
              for (int x = 0; x < canvasWidth; )       //from left to right
              {
                  byte abyte = 0;
                  for (int b = 0; b < 8; ++b, ++x)     //get 8 bits together and write to memory
                  {
                      int dot = 1;                     //set 1 for white,0 for black
                      //pixel still in width of bitmap,
                      //check luminance for white or black, out of bitmap set to white
                      if (x < bitmap.Width)
                      {
                          System.Drawing.Color color = bitmap.GetPixel(x, y);
                          int luminance = (int)((color.R * 0.3) + (color.G * 0.59) + (color.B * 0.11));
                          dot = luminance > 127 ? 1 : 0;
                       }
                       abyte |= (byte)(dot << (7 - b)); //shift left,
                                       //then OR together to get 8 bits into a byte
                   }
                   bw.Write(abyte);
              }
           }
           bw.Write("\n");
           bw.Flush();
           //reset memory
           ms.Position = 0;
           //get encoding, I have no idea why encode page of 1252 works and fails for others
           return Encoding.GetEncoding(1252).GetString(ms.ToArray());
        }
    }

    basta colar o codigo dentro de uma classe estatica Utils.

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 17 de agosto de 2015 14:18
    Moderador
  • Fiz o que você falou da seguinte forma:

    O private eu tive que colocar como public e crei uma classe (Utils.cs)

    Em um click do botão esta o seguinte código:

    string caminho = @"C:\Codbarras\";
            string arquivo = "arquivo.jpg";
            System.Drawing.Bitmap bitmap2 = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile(caminho+arquivo);
            string str = "\nN\nq812Q1218,20\n";
            str += Utils.SendImageToPrinter(50, 50,bitmap2);
            str += "P1\n";
            RawPrinterHelper.SendStringToPrinter(@"\\INFOVALE-PC\TLP2844", str);

    O codigo funciona normalmente. e a impressora imprimi tudo em branco. Agora que eu não entendi nada dessa impressora. E agora Willian o que pode ser? 


    Fabricio

    segunda-feira, 17 de agosto de 2015 15:56
  • Quando eu vejo o codigo da string ele esta da seguinte forma:

    N
    q812Q1218,20
    GW50,50,17,130,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|ÿÀ

    Isso a impressora realmente não vai entender

    Agora esse código abaixo ele esta dando erro na linha inteira por que?

    Utils.SendImageToPrinter(50, 50, System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + caminho + arquivo);


    Fabricio

    segunda-feira, 17 de agosto de 2015 16:01
  • Fabrico, 

    O codigo me parece correto. O que pode estar errado é a posiçao e o conteudo. O ideal é nao usar JPG e sim BMP.

    Lembre-se que a imagem tem que ser em preto e branco, mesmo porque o codigo vai fazer uma conversao de cores.

    Porque vc nao usa Zebra Designer inserindo uam imagem para ver o prn gerado?

    Pelo que eu me lembre esta ferramenta permite adicionar imagens. So para ter certeza é essa a interface:

    Sobre o comando GW veja mais aqui:

    https://support.zebra.com/cpws/docs/eltron/gw_command.htm


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 17 de agosto de 2015 17:01
    Moderador
  • >Agora esse código abaixo ele esta dando erro na linha inteira por que?

    Utils.SendImageToPrinter(50, 50, System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + caminho + arquivo);

    Veja, eesa parte do codigo: System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) vai retornar algo como : C:\users\usuario\documents\visual studio 2013\projects\printertest\bin\

    dai voce concatena com "C:\Codbarras\teste.jpg".. dai o caminho fica:

    C:\users\usuario\documents\visual studio 2013\projects\printertest\bin\C:\Codbarras\teste.jpg

    Este caminho te parece correto?

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 17 de agosto de 2015 17:04
    Moderador
  • Oi William pra mim o codigo do direcionamento da pasta ficaria correto então da seguinte forma abaixo

    string caminho = @"C:\Codbarras\";
            string arquivo = "arquivo.jpg";
            System.Drawing.Bitmap bitmap2 = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile(caminho+arquivo);

    Por que realmente o arquivo esta em C:\Codbarras\arquivo.bmp

    Agora eu salvei em bmp monocromatico e fiz os testes e não funcionou

    Quando eu acesso o código da string (str) ela vem do seguinte jeito abaixo:

    N
    q812Q1218,20
    GW50,50,17,130,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|Áð|Áð|ÿÿÿÁð|ÿÀ

    e esses simbolos (ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ.....) a impressora não interpreta de forma alguma, mas imprimi tudo em branco

    Realmente não sei mas o que fazer.


    Fabricio

    segunda-feira, 17 de agosto de 2015 18:08
  • Se puder me ajudar segue o meu numero 21-99447-7267

    abs

    Att

    Fabricio Vale


    Fabricio

    segunda-feira, 17 de agosto de 2015 18:09
  • Como eu disse, voce fez o teste adicionando uma imagem e gerando um prn dentro do Zebra Design?

    Faça isso. e se possivel poste aqui o prn gerado.

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    segunda-feira, 17 de agosto de 2015 18:11
    Moderador
  • Bom dia Wiliam

    Então fiz o teste de duas formas:

    Segue o codigo de um arquivo.prn com o codigo QR Code.

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    GW205,20,8,63,ñÀãÀ ñÀãÀ ñÀãÀ ãÿøÇÿñãÿøÇÿñãÿøÇÿñð àqÇ qð àqÇ qð àqÇ qãøãÇ qãøãÇ qãøãÇ qñÇÇ qñÇÇ qñÇÇ qðÿÇÿñðÿÇÿñðÿÇÿñ qÿÿÀ  qÿÿÀ  qÿÿÀ þüqÿÿÿþüqÿÿÿþüqÿÿÿþ àqÀàþ àqÀàþ àqÀàð8ÿøàð8ÿøàð8ÿøàŽ àqÀÿŽ àqÀÿŽ àqÀÿ ~8ãÿÿ ~8ãÿÿ ~8ãÿÿãñÿÇqãñÿÇqãñÿÇqÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿ  qÀ   qÀ   qÀ ÿÇãÇÿñÿÇãÇÿñÿÇãÇÿñÇ qÇ qÇ qÇ qÇ qÇ qÇÿÇ qÇÿÇ qÇÿÇ qÇ Ç qÇ Ç qÇ Ç qÿÇàqÇÿñÿÇàqÇÿñÿÇàqÇÿñ  ÿÿÀ   ÿÿÀ   ÿÿÀ 
    A460,158,2,1,1,1,N,"Texto11"
    A460,187,2,1,1,1,N,"Texto9"
    A460,102,2,1,1,1,N,"Texto14"
    A460,120,2,1,1,1,N,"Texto13"
    A460,172,2,1,1,1,N,"Texto10"
    A460,291,2,1,1,1,N,"Texto2"
    A460,143,2,1,1,1,N,"Texto12"
    A460,202,2,1,1,1,N,"Texto8"
    A460,217,2,1,1,1,N,"Texto7"
    A460,231,2,1,1,1,N,"Texto6"
    A460,276,2,1,1,1,N,"Texto3"
    A460,246,2,1,1,1,N,"Texto5"
    A460,306,2,1,1,1,N,"Texto1"
    A460,261,2,1,1,1,N,"Texto4"
    P1

    Agora segue outro exemplo de um arquivo1.prn com uma figura

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    GW203,6,10,79,ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü        ü        ü        ÿðàðÀÿðàðÀÿðàðÀü~8üp€Àü~8üp€Àü~8üp€Àÿÿÿ  øa€ ÿÿÿ  øa€ ÿÿÿ  øa€ üpÿð ?øüpÿð ?øüpÿð ?øÿþðÀþ ÿþðÀþ ÿþðÀþ ü  øðü  øðü  øðÿÿÇàpÃáÿøÿÿÇàpÃáÿøÿÿÇàpÃáÿøü  ÿðÿà  ü  ÿðÿà  ü  ÿðÿà  ÿ€ãÃ  Àÿ€ãÃ  Àÿ€ãÃ  ÀüÀ㎠`?ÀüÀ㎠`?ÀüÀ㎠`?Àü~    ` ÿþ  ü ÿþ  ü ü     üÿ€ >üÿ€ >üÇ€ > ÿñÇŽ ?ÀÿñÇŽ ?Àü    > ü ?pÀþü ?pÀþü ?p 0 ÿ€?p|0 ÿ€?p|0 ü ? |0 ü~?€ø|0 ü~?€ø|0 üp À  ÿñÇüÀ†ÿñÇüÀ†üÀàpÀ üøãðÿà>üøãðÿà>ü 8€à>ÿð8Žÿÿøÿð8Žÿÿøüp8   †ü~?   †ü~?   †ü8   a†ÿŽ8ãŽa†ÿŽ8ãŽa†ÿŽ8ãŽa†ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    A460,158,2,1,1,1,N,"Texto11"
    A460,187,2,1,1,1,N,"Texto9"
    A460,102,2,1,1,1,N,"Texto14"
    A460,120,2,1,1,1,N,"Texto13"
    A460,172,2,1,1,1,N,"Texto10"
    A460,291,2,1,1,1,N,"Texto2"
    A460,143,2,1,1,1,N,"Texto12"
    A460,202,2,1,1,1,N,"Texto8"
    A460,217,2,1,1,1,N,"Texto7"
    A460,231,2,1,1,1,N,"Texto6"
    A460,276,2,1,1,1,N,"Texto3"
    A460,246,2,1,1,1,N,"Texto5"
    A460,306,2,1,1,1,N,"Texto1"
    A460,261,2,1,1,1,N,"Texto4"
    P1

    No item GW nos dois códigos acima eles não são interpretados para impressora e nem compreendível para um desenvolvedor. A impressora imprimi o GW de forma ilegível e não identificado como um código de barra.

    Att

    Fabricio Vale


    Fabricio

    terça-feira, 18 de agosto de 2015 10:47
  • Lembrando que a figura esta monocromatica e é um bmp conforme vc me explicou acima.

    Fabricio

    terça-feira, 18 de agosto de 2015 10:48
  • Mas a questao é: o que impressora conseguiu imprimir? Voce pode mostar aqui uma foto da etiqueta impressa e se possivel a imagem original. 

    Quando eu trabalhei com a Zebra, nao tive problemas em usar o GW para figuras simples.

    att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------


    terça-feira, 18 de agosto de 2015 11:10
    Moderador
  • Eu não consigo William. Não imprimi nada de figura.

    O GW não funciona de forma alguma

    Vc tem algum projeto para me passa para que eu possa testar.

    Eu conseguir resolver com o seguinte código EPL abaixo:

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    A460,110,2,1,1,1,N,"Textod"
    A460,125,2,1,1,1,N,"Textoc"
    A460,155,2,1,1,1,N,"Textob"
    A460,170,2,1,1,1,N,"Textoa"
    A460,185,2,1,1,1,N,"Texto9"
    A460,200,2,1,1,1,N,"Texto8"
    A460,215,2,1,1,1,N,"Texto7"
    A460,230,2,1,1,1,N,"Texto6"
    A460,245,2,1,1,1,N,"Texto5"
    A460,260,2,1,1,1,N,"Texto4"
    A460,275,2,1,1,1,N,"Texto3"
    A460,290,2,1,1,1,N,"Texto2"
    A460,305,2,1,1,1,N,"Texto1"
    b13,13,D,h2,"codbar"
    P1

    Lembrando que a impressora é uma TLP 2844 (só aceita linguagem EPL).

    Fico no aguardo.

    Att

    Fabricio Vale.


    Fabricio

    quarta-feira, 19 de agosto de 2015 15:41
  • Nao... atualmente eu nao trbalho mais na mesma empresa que eu trabalhava na época em que nos faziamos uma interface com a ZEBRA, mas o comando GW gerado à partir do Zebra Design funcionava normalmente e o codigo era bem parecido com o seu.

    Voce tem certeza que a figura esta sendo colocada dentro da area de impressao da etiqueta?

    veja:

    GW205,20,8,63

    isso diz para imprimir a figura na posiçao 205 horizontal e 20 vertical com 8 pixels de largura por 63 de altura

    faça o seguinte teste

    mude para 

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    GW460,158,63,ñÀãÀ ñÀãÀ ñÀãÀ ãÿøÇÿñãÿøÇÿñãÿøÇÿñð àqÇ qð àqÇ qð àqÇ qãøãÇ qãøãÇ qãøãÇ qñÇÇ qñÇÇ qñÇÇ qðÿÇÿñðÿÇÿñðÿÇÿñ qÿÿÀ  qÿÿÀ  qÿÿÀ þüqÿÿÿþüqÿÿÿþüqÿÿÿþ àqÀàþ àqÀàþ àqÀàð8ÿøàð8ÿøàð8ÿøàŽ àqÀÿŽ àqÀÿŽ àqÀÿ ~8ãÿÿ ~8ãÿÿ ~8ãÿÿãñÿÇqãñÿÇqãñÿÇqÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿ  qÀ   qÀ   qÀ ÿÇãÇÿñÿÇãÇÿñÿÇãÇÿñÇ qÇ qÇ qÇ qÇ qÇ qÇÿÇ qÇÿÇ qÇÿÇ qÇ Ç qÇ Ç qÇ Ç qÿÇàqÇÿñÿÇàqÇÿñÿÇàqÇÿñ  ÿÿÀ   ÿÿÀ   ÿÿÀ 
    A460,261,2,1,1,1,N,"Texto4"
    P1



    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    • Marcado como Resposta Fabriciovale sexta-feira, 21 de agosto de 2015 17:20
    quarta-feira, 19 de agosto de 2015 15:57
    Moderador
  • Boa tarde

    muito show. funcionou

    irmão muito  muito  muito  muito  

    muito  muito  muito  muito  muito 

    muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito  muito 

    obirgado!

    Vlw mesmo

    Assim funciona

    I8,A,001


    Q320,024
    q831
    rN
    S4
    D7
    ZT
    JF
    OD
    R175,0
    f100
    N
    GW205,20,8,63,ñÀãÀ ñÀãÀ ñÀãÀ ãÿøÇÿñãÿøÇÿñãÿøÇÿñð àqÇ qð àqÇ qð àqÇ qãøãÇ qãøãÇ qãøãÇ qñÇÇ qñÇÇ qñÇÇ qðÿÇÿñðÿÇÿñðÿÇÿñ qÿÿÀ  qÿÿÀ  qÿÿÀ þüqÿÿÿþüqÿÿÿþüqÿÿÿþ àqÀàþ àqÀàþ àqÀàð8ÿøàð8ÿøàð8ÿøàŽ àqÀÿŽ àqÀÿŽ àqÀÿ ~8ãÿÿ ~8ãÿÿ ~8ãÿÿãñÿÇqãñÿÇqãñÿÇqÿÿÿüÿÿÿÿÿÿüÿÿÿÿÿÿüÿÿÿ  qÀ   qÀ   qÀ ÿÇãÇÿñÿÇãÇÿñÿÇãÇÿñÇ qÇ qÇ qÇ qÇ qÇ qÇÿÇ qÇÿÇ qÇÿÇ qÇ Ç qÇ Ç qÇ Ç qÿÇàqÇÿñÿÇàqÇÿñÿÇàqÇÿñ  ÿÿÀ   ÿÿÀ   ÿÿÀ 
    A460,261,2,1,1,1,N,"Texto4"
    P1

    DEUS lhe ajude. vlw mesmo



    Fabricio

    • Marcado como Resposta Fabriciovale sexta-feira, 21 de agosto de 2015 17:22
    sexta-feira, 21 de agosto de 2015 17:22
  • Para ajudar os colegas desenvolvedores (compartilhamento de informação):
    https://youtu.be/Jy2B5z57Jts
    segunda-feira, 7 de novembro de 2016 16:16
  • Estou com este mesmo problema.

    Como montar esta linha GW205... EM DELPHI ??

    var
      Arq: TextFile;
      Arq1: File;

      MemoryStream : TMemoryStream;
      Jpg : TJpegImage;
      ByteArray : TByteDynArray;
      bin1 : TByteDynArray;
      S, str : String;

    begin
      inherited;

            Jpg := TJpegImage.Create;
            MemoryStream := TMemoryStream.Create;
            Jpg.LoadFromFile('C:\figura.jpg');
            Jpg.SaveToStream(MemoryStream);
            StreamToByteArray(MemoryStream,ByteArray);
            bin1 := ByteArray;
            MemoryStream.Free;
            Jpg.Free;
            AssignFile(Arq1, 'c:\img1.bin');
            Rewrite(Arq1);
            BlockWrite(Arq1, bin1, SizeOf(bin1));
            CloseFile(Arq1);

          AssignFile(Arq, 'c:\etiqueta.txt');
          Rewrite(Arq);
          Writeln(Arq, '');
          Writeln(Arq, 'N');
          Writeln(Arq, 'D4');
          Writeln(Arq, 'S2');
          Writeln(Arq, 'R32,0');

           Writeln(Arq, 'GW10,10,50,50,' + bin1);

           Writeln(Arq, 'P0001' );
           Writeln(Arq, 'N');
           Writeln(Arq, '');

          CloseFile(Arq);

      

         alinha  

           Writeln(Arq, 'GW10,10,50,50,' + bin1);

      da erro de  incompatibilidade de campos string e array.

    como monto essa linha em delphi como voces mostraram no seu exemplo ??

    quarta-feira, 12 de julho de 2017 12:25
  • Fabricio,

    Estou precisando muito resolver este problema.

    Você que ja passou por este pesadelo,

    se puder me ajudar, ficarei eternamente grato.

    Quando conseguir a solução definitiva, me comprometo a postar aqui

    o codigo completo, aberto a toda a comunidade...

    quarta-feira, 2 de agosto de 2017 11:41
  • Testei aqui. Funciona.
    sexta-feira, 13 de julho de 2018 18:03