| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/11/2004 14:08:13
|
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
|
ola pessoal
Alguém sabe como faço para enviar comandos para uma impressora via lpt1? O programa que fiz compila e não gera exceção, mas a impressora não imprime (o programa também não dá aviso de erro).
O código está abaixo:
import javax.comm.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
/**
*
* @author rodrigo.pinto
*/
public class Paralela {
Enumeration listaDePortas;
String portas[];
String codigoImpressao;
OutputStream saida;
ParallelPort portaParalela;
int timeout = 1000;
int baudrate = 57600;
/** Creates a new instance of Paralela */
public Paralela() {
listaDePortas = CommPortIdentifier.getPortIdentifiers();
int i = 0;
portas = new String[4];
while (listaDePortas.hasMoreElements()) {
CommPortIdentifier ips = (CommPortIdentifier)listaDePortas.nextElement();
portas[i] = ips.getName();
if (ips.getPortType() == CommPortIdentifier.PORT_PARALLEL)
JOptionPane.showMessageDialog(null, "porta paralela: " + portas[i]);
i++;
}
try{
FileReader ptrETQ = new FileReader(new File("C:\\paralela\\ETQ.TXT"));
CommPortIdentifier cp = CommPortIdentifier.getPortIdentifier("LPT1");
portaParalela = (ParallelPort)cp.open("Paralela", timeout);
portaParalela.setMode(ParallelPort.LPT_MODE_SPP);
saida = portaParalela.getOutputStream();
while (true){
int k = ptrETQ.read();
if(k == -1) break;
System.out.print((char) k);
saida.write((char) k);
}
//saida.flush(); //DEVE SER USADO COM A IMPRESSORA CONECTADA AO PC
saida.close();
ptrETQ.close();
System.out.println("Mensagem enviada");
}
catch (NoSuchPortException nspe){
JOptionPane.showMessageDialog(null, "Não foi possível encontrar a porta desejada. ERRO " + nspe.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch (PortInUseException piue){
JOptionPane.showMessageDialog(null, "Porta solicitada está em uso.ERRO " + piue.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch(IllegalStateException ise){
JOptionPane.showMessageDialog(null, "Tipo de porta desconhecida.ERRO" + ise.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch(UnsupportedCommOperationException ucoe){
JOptionPane.showMessageDialog(null, "Operação não suportada. ERRO " + ucoe.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch (IOException ioe){
JOptionPane.showMessageDialog(null, "Não foi possível fechar a porta\nou arquivo de impressão não foi encontrado. ERRO " + ioe.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "Ocorreu um erro inesperado. ERRO " + e.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
public static void main (String args[]){
System.out.println("Enviando a mensagem pela paralela");
Paralela p = new Paralela();
System.exit(0);
}
}
Espero que alguém possa me ajudar.
valew!
|
"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) 10/11/2004 14:21:58
|
RRaminelli
Thread.start()
Membro desde: 10/11/2004 13:14:25
Mensagens: 29
Offline
|
Rodrigo Vieira Pinto wrote:ola pessoal
Alguém sabe como faço para enviar comandos para uma impressora via lpt1? O programa que fiz compila e não gera exceção, mas a impressora não imprime (o programa também não dá aviso de erro).
O código está abaixo:
import javax.comm.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
/**
*
* @author rodrigo.pinto
*/
public class Paralela {
Enumeration listaDePortas;
String portas[];
String codigoImpressao;
OutputStream saida;
ParallelPort portaParalela;
int timeout = 1000;
int baudrate = 57600;
/** Creates a new instance of Paralela */
public Paralela() {
listaDePortas = CommPortIdentifier.getPortIdentifiers();
int i = 0;
portas = new String[4];
while (listaDePortas.hasMoreElements()) {
CommPortIdentifier ips = (CommPortIdentifier)listaDePortas.nextElement();
portas[i] = ips.getName();
if (ips.getPortType() == CommPortIdentifier.PORT_PARALLEL)
JOptionPane.showMessageDialog(null, "porta paralela: " + portas[i]);
i++;
}
try{
FileReader ptrETQ = new FileReader(new File("C:\\paralela\\ETQ.TXT"));
CommPortIdentifier cp = CommPortIdentifier.getPortIdentifier("LPT1");
portaParalela = (ParallelPort)cp.open("Paralela", timeout);
portaParalela.setMode(ParallelPort.LPT_MODE_SPP);
saida = portaParalela.getOutputStream();
while (true){
int k = ptrETQ.read();
if(k == -1) break;
System.out.print((char) k);
saida.write((char) k);
}
//saida.flush(); //DEVE SER USADO COM A IMPRESSORA CONECTADA AO PC
saida.close();
ptrETQ.close();
System.out.println("Mensagem enviada");
}
catch (NoSuchPortException nspe){
JOptionPane.showMessageDialog(null, "Não foi possível encontrar a porta desejada. ERRO " + nspe.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch (PortInUseException piue){
JOptionPane.showMessageDialog(null, "Porta solicitada está em uso.ERRO " + piue.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch(IllegalStateException ise){
JOptionPane.showMessageDialog(null, "Tipo de porta desconhecida.ERRO" + ise.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch(UnsupportedCommOperationException ucoe){
JOptionPane.showMessageDialog(null, "Operação não suportada. ERRO " + ucoe.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch (IOException ioe){
JOptionPane.showMessageDialog(null, "Não foi possível fechar a porta\nou arquivo de impressão não foi encontrado. ERRO " + ioe.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "Ocorreu um erro inesperado. ERRO " + e.getMessage(), "Mensagem do sistema", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}
}
public static void main (String args[]){
System.out.println("Enviando a mensagem pela paralela");
Paralela p = new Paralela();
System.exit(0);
}
}
Espero que alguém possa me ajudar.
valew!
Use esse comando, passando a mensagem que será impressa:
public static void sendLPT1(final String str) {
new Thread() {
public void run() {
try {
FileOutputStream os = new FileOutputStream("LPT1");
PrintStream ps = new PrintStream(os);
ps.print(str);
os.close();
}
catch(Exception e) {
}
}
}.start();
}
Rodrigo Raminelli
|
Rodrigo Raminelli
São Paulo - SP |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/11/2004 15:45:32
|
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
|
valeu xará!!!
|
"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) 04/06/2010 12:24:41
|
greaseflog
HelloWorld
Membro desde: 23/01/2008 15:09:23
Mensagens: 13
Offline
|
Como faço para imprimir com javax.comm, quando a impressora esta instalada em outro computador, e tbm como faço para mudar o tamanho da fonte na impressão. Pois possuo um nota fiscal que esta mal formatada na tabulação de tamanho.
|
|
|
 |
|
|
|
|