| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2007 14:17:30
|
bhzdado
Entusiasta Java
![[Avatar]](/images/avatar/18085327b86002fc604c323b9a07f997.png)
Membro desde: 14/07/2005 17:37:29
Mensagens: 18
Offline
|
Alguém já criou um programa java para imprimir em impressora zebra. Esta impressora utiliza uma linguagem propria chamada zpl. Gostaria de enviar esses comando zpl diretamente a porta LPT1, da impressora zebra.
Agradeço,
Ronaldo Alves
|
"Tristeza não tem fim, felicidade sim" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2007 15:45:20
|
brunoacpc
JavaBaby
![[Avatar]](/images/avatar/a7471fdc77b3435276507cc8f2dc2569.jpg)
Membro desde: 24/03/2005 11:33:27
Mensagens: 85
Localização: Sorocaba SP
Offline
|
Boa tarde.
Eu fiz uma aplicação desse tipo para imprimir etiquetas.
A duvida é com a linguagem zpl ou com o comando de impressão?
|
Bruno Abdelnur |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2007 15:49:27
|
bhzdado
Entusiasta Java
![[Avatar]](/images/avatar/18085327b86002fc604c323b9a07f997.png)
Membro desde: 14/07/2005 17:37:29
Mensagens: 18
Offline
|
Cara, se vc poder me ajudar nos dois: impressão e linguagem zpl vou ficar muito agradecido.
Abraço,
Ronaldo Alves
|
"Tristeza não tem fim, felicidade sim" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2007 15:49:50
|
Rodrigo Vieira Pinto
JavaEvangelist
![[Avatar]](/images/avatar/e7e69cdf28f8ce6b69b4e1853ee21bab.jpg)
Membro desde: 15/07/2004 11:05:05
Mensagens: 354
Localização: São Paulo
Offline
|
Então cara, se for uma impressão simples não tem muito segredo não. Tem é muito trabalho...srsrsrs
Comece criando uma etiqueta qualquer no Label Matrix. Ele é um software que cria etiquetas para impressoras de diversas marcas e retorna, se vc quiser, o código da etiqueta no formato de linguagem de programação (no caso ZPL). O único problema é que ele é pago....
Daí é só usar javax.comm ou outra biblioteca java que trabalhe com porta paralela e boa.
De software gerador de etiquetas só conheço o label matrix. A Zebra fornece uns softwares gratuitos para criação de etiquetas. Verifique se eles geram o código da etiqueta. Ai pode mandar o Label Matrix pra bem longe.
|
"Ser o segundo é ser o primeiro dos perdedores" - Ayrton Senna
"Eu vou dá 10 pau!!" - Aracy de Almeida
Nova dupla sertaneja: Waterfall e Procedural. Pra começar, é sertanejo (ARGH!)
"Bem, dizia eu que a aritmética..." - Prof. Girafales
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2007 16:31:27
|
bhzdado
Entusiasta Java
![[Avatar]](/images/avatar/18085327b86002fc604c323b9a07f997.png)
Membro desde: 14/07/2005 17:37:29
Mensagens: 18
Offline
|
brunoacpc tem gente de vc me enviar o código da sua aplicação para imprimir codigo de barras? ou como imprimir utilizando java e enviando para essa impressora.
Obrigado,
Ronaldo
|
"Tristeza não tem fim, felicidade sim" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/09/2007 17:33:17
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
para abrir a conexão com a porta paralela ou serial:
este exemplo usa a porta serial ....
para usar a porta paralela a mudança é minima....
para enviar os dados:
Utilizando a biblioteca rxtx
http://www.rxtx.org/
This message was edited 1 time. Last update was at 03/09/2007 17:35:19
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2007 17:14:46
|
bhzdado
Entusiasta Java
![[Avatar]](/images/avatar/18085327b86002fc604c323b9a07f997.png)
Membro desde: 14/07/2005 17:37:29
Mensagens: 18
Offline
|
Não esta adiantando. fiz o codigo abaixo ele enviar e imprime em uma impressora HP mas quando coloco a impressora zebra o texto é enviado para o spool (aparece na tela de propriedades de impressão da impressora), sem ocasionar erro algum no java, mas não imprime nada nesta impressora.
Por favor, alguem tem alguma dica?
Obrigado.
Ronaldo Alves
|
"Tristeza não tem fim, felicidade sim" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/09/2007 17:15:51
|
bhzdado
Entusiasta Java
![[Avatar]](/images/avatar/18085327b86002fc604c323b9a07f997.png)
Membro desde: 14/07/2005 17:37:29
Mensagens: 18
Offline
|
Desculpa esqueci o codigo. ai vai...
import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.ParallelPort;
import gnu.io.PortInUseException;
import java.io.IOException;
import java.io.OutputStream;
import sun.io.CharToByteUnicode;
public class PrinterToZebra
{
private static OutputStream outputStream;;
private static ParallelPort portaParalela;
private static CommPortIdentifier port;
public static final String PORTA_PARALELA = "LPT1";
public void Executa(String printerCodes)
{
System.out.println("Testando...");
try
{
port = CommPortIdentifier.getPortIdentifier(PORTA_PARALELA);
System.out.println("\nPorta aberta: " + port.getName());
portaParalela = (ParallelPort) port.open("PrinterToZebra", 5000);
outputStream = portaParalela.getOutputStream();
outputStream.flush();
char[] charArray = printerCodes.toCharArray();
byte[] byteArray = CharToByteUnicode.getConverter("UTF8").convertAll(charArray);
outputStream.write(byteArray);
System.out.print("Imprimindo...");
outputStream.flush();
System.out.print("Imprimiu.\nLimpando...");
outputStream.close();
System.out.print("Limpou.\nFechando...");
}
catch (NoSuchPortException e)
{
System.out.println("\nPorta de impressão LPT1 não encontrada : "
+ "NoSuchPortException.\nException:\n" + e + "\n");
}
catch (PortInUseException e)
{
System.out.println("\nPorta de impressão LPT1 em uso : "
+ "PortInUseException.\nException:\n" + e + "\n");
}
catch (IOException e)
{
System.out.println("\nPorta de impressão LPT1 falhou na impressão : "
+ "IOException.\nException:\n" + e + "\n");
}
catch (Exception e)
{
System.out.println("\nFalha ao abrir Porta de impressão LPT1. Erro : "
+ e + "\n");
}
finally
{
if (port != null && port.isCurrentlyOwned())
{
portaParalela.close();
}
System.out.print("Fechou.");
}
}
public static void main(String[] args)
{
String texto = "N A50,0,0,1,1,1,N,\"Example 1\" P1";
PrinterToZebra ptz = new PrinterToZebra();
ptz.Executa(texto);
}
}
|
"Tristeza não tem fim, felicidade sim" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/09/2007 16:15:40
|
mchiareli
JavaEvangelist
![[Avatar]](/images/avatar/03e4d3f831100d4355663f3d425d716b.png)
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
|
cara a zebra tem uma linguagem propria e só vai imprimir depois que vc enviar o comando para tal, se não me engano é ^XV
|
codifica.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/03/2008 20:57:39
|
russão
Smalltalk
Membro desde: 31/03/2008 20:55:52
Mensagens: 1
Offline
|
Boa noite um bom caminho para consseguir imprimir em zpl na lpt1 é criando um Generic/Tëxtonly
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2009 11:12:48
|
orogerio
JavaBaby
![[Avatar]](/images/avatar/9677567bbe24856edcd584a7ab9d1334.jpg)
Membro desde: 08/03/2008 14:38:14
Mensagens: 94
Offline
|
Pessoal, alguém conseguiu mandar os comandos pra LPT1?
No meu estpu montanto o arquivo correto (pelo dos imprime), mas pelo java não vai !!
|
Certificado Java - OCJP 6.
ODAtech - Orientação no Desenvolvimento de Software |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/09/2009 14:10:20
|
petter
Virtual Machine Man
Membro desde: 28/04/2006 17:11:34
Mensagens: 662
Offline
|
Uma forma mais simplista é escrever um arquivo texto com os comandos e forçar o Java a utilizar um comando do sistema operacional para enviar o arquivo direto no LPT1 (tanto o Windows como Linux tem comandos assim).
No Java existem algumas limitações para trabalhos enviando dados direto na LPT1.
Aqui comigo essa foi a solução mais simplista.
|
-----------------------------------------
Java is the future
----------------------------------------- |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/09/2009 05:41:36
|
GradeBook
JavaChild
Membro desde: 08/07/2009 15:27:10
Mensagens: 142
Offline
|
Oi
Já escrevi comandos para uma Zebra Z4M Plus no antigo emprego.
Primeiro: Arrume a documentação do equipamento que você tem.
http://www.zebra.com/id/zebra/na/en/index/resource_library/manuals.html
Para a Z4M Plus eu comecei com o exemplo da página 66 do
documento P1012728-002e.pdf, assim eu sabia qual o resultado deveria
ser impresso.
Usando o Ubuntu eu fiz o teste com o senguinte comando:
sudo echo -n -e "^XA^FO150,100^BY3^B4N,20,A,A^FD12345ABCDE^FS^XZ" > /dev/ttyS0
^XA == Start Format == <STX> == 02H (tabela ascii)
^FO == Field Orign
^BY == Bar Code Field Default
^B4 == Code 49 Bar Code
^FD == Field Data
^FS == Field Separator == <SI> == 0fH (tabela ascii)
^XZ == End Format == <ETX> == 03H (tabela ascii)
Para depurar os comandos que eu enviava para a impressora eu usava o hexadump assim:
sudo echo -n -e "^XA^FO150,100^BY3^B4N,20,A,A^FD12345ABCDE^FS^XZ" | hd
Assim eu podia ler em hexa os bytes enviados. Lembro que fazia isso porque
para implementar no sistema eu tive que fazer umas substituições nos
comandos da impressora.
ex: O ^XA eu tinha que passar direto como 02H. Ou foi na Citizen
que eu fazia isso? Não lembro. Faz tempo que eu coloquei essas impressoras
para funcionar.
Espero que ajude.
|
|
|
 |
|
|