Pessoal to com uma impressora diebold IM433TD, sou novato e não tenho nada a respeito deste tipo de impressora. será que alguem tem algum exemplo ou classe para me ajudar ? Passsos de configuração…
Obrigado desde já
Pessoal to com uma impressora diebold IM433TD, sou novato e não tenho nada a respeito deste tipo de impressora. será que alguem tem algum exemplo ou classe para me ajudar ? Passsos de configuração…
Obrigado desde já
Pessoal consegi fazer imprimir com esse código… Agora estou com dois problemas:
1- como mando imprimir direto sem selecionar a impressora;
2 -gostaria de usar a largura total da bobina, qual atributo que modifica a largura?
import java.awt.Graphics;
import java.awt.PrintJob;
import java.awt.Toolkit;
import java.awt.Font;
import java.awt.Frame;
public class Impressora {
public void imprimir() {
// cria um frame temporário, onde será desenhado o texto a ser impresso
Frame f = new Frame("Frame temporário");
f.pack();
//f.setBounds(850, 890, 890, 990);
//f.setMaximizedBounds(null);
f.setMaximumSize(null);
// pega o Toolkit do Frame
Toolkit tk = f.getToolkit();
// Pega os serviços de impressão existentes no computador,
// para que seja escolhida uma impressora.
// Também pode ser uma impressora de rede
PrintJob pj = tk.getPrintJob(f, "recibo" , null);
// Aqui se inicia a impressão
if (pj != null) {
Graphics g = pj.getGraphics();
g.setFont(new Font("Arial",Font.PLAIN,10));
//g.draw3DRect(05, 180, 180, 180, false);
//g.drawArc(05, 50, 60, 80, 90, 0);
//g.getClipBounds();
//g.getFontMetrics();
//g.setClip(01, 01 , 350, 350);
//g.translate(150, 350);
g.drawString( "Viagem No:" , 15, 98);
g.drawString( "Hr Entrada:" , 15, 109);
g.drawString( "Hr Saida:" , 15, 120);
g.drawString( "Motorista:" , 15, 140);
g.drawString( "Caminhao.:" , 15, 151);
g.drawString( "No.Frota.:" , 15, 162);
g.drawString( "Placa.:" , 15, 173);
g.drawString( "Proprietario:" , 15, 184);
g.drawString( "Destino..:" , 15, 206);
g.drawString( "Residuo..:" , 15, 217);
g.drawLine(05,350,350,350);
//g.setFont(new Font("Arial",Font.PLAIN,10));
//g.setFont(new Font("Courier New",Font.BOLD,8));
//g.drawString( "página 1" , 500, 810);
// libera os recursos gráficos
g.dispose();
// encerra a impressão
pj.end();
}
// desfaz o frame temporário
f.dispose();
}
// Método main para teste
public static void main(String[] args) {
Impressora imp = new Impressora();
imp.imprimir();
}
}
Me corriga se você estiver errado, você quer enviar diretamente para uma porta ja pré definida por exemplo LPT1 OU um caminho de impressora na rede ex \\User\Matricial
De uma olhada nesse método
protected void enviarImpressao(StringBuilder sb, String porta)
{
FileOutputStream outputFile = null;
try {
outputFile = new FileOutputStream(porta);
PrintStream ps = new PrintStream(outputFile) ;
ps.print(sb);
ps.close();
outputFile.close();
}catch (FileNotFoundException ex) {
Logger.getLogger(Matricial.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Matricial.class.getName()).log(Level.SEVERE, null, ex);
} finally {
try
{
outputFile.close();
} catch (IOException ex) {
Logger.getLogger(Matricial.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Sendo a "porta" o caminho da impressora e o "sb" a string que voce vai inviar um exemplo
enviarImpressao("TESTE DE IMPRESSAO", "LPT1")
//OU
enviarImpressao("TESTE DE IMPRESSAO", "\\\\USER\\Matricial")//Caminho na rede
Tentei adaptar seu código, mas deu erro nesta linha
Logger.getLogger(Matricial.class.getName()).log(Level.SEVERE, null, ex);
Pelo eclipse, no meu código, eu executo, dai aparece a impressora que desejo utilizar, seleciono ela e dai imprime. Tem como mandar direto pra impressora padrão ou fazer td isso por uma servlet ou jsp?
Resolvi este problema com a utilização de uma applet.