Boa noite comunidade.. Estou com uma certa dificuldade para imprimir do java para a bematech.. o que eu quero é o seguinte: Selecionar a impressora bematech e mandar imprimir um documento. Estou seguindo a seguinte linha, porem ela esta imprimindo os dados no meio do papel e pega qualquer impressora padrão que esteja no sistema. Gostaria de fazer da seguinte forma. No codigo ja informa que a impressora que dever ser com default é mp 2500 th e zera cabeçalho e roda pé para que as letras encoste nas margem esquerda. Ja to no desespero!, alguém ai pode me ajudar por favor!!
import java.awt.Color;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.AttributeSet;
import javax.print.attribute.HashAttributeSet;
import javax.print.attribute.standard.Copies;
import umteste.Impressao;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author java
*/
public class TemQueCoseguir implements Printable{
private final String string;
//Construtor da classe
public TemQueCoseguir(String string) {
this.string = string;
}
@override
public int print(Graphics g, PageFormat pf, int pi) throws PrinterException {
if (pi >= 1) {
return Printable.NO_SUCH_PAGE;
}
g.setFont(new Font("Arial", Font.BOLD, 10));
g.setColor(Color.gray);
String[] lines = string.split("\n");
int y = 100;
FontMetrics fm = g.getFontMetrics();
for (String line : lines) {
g.drawString(line, 100, y);
y += fm.getHeight();
}
return Printable.PAGE_EXISTS;
}
public static void main(String[] args) {
//Obter o serviço de impressão da impressora default
PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
//Define os parâmetros para impressão
AttributeSet aset = new HashAttributeSet();
aset.add(new Copies(1));
//Obter o job de impressão
PrinterJob pj = PrinterJob.getPrinterJob();
try {
pj.setPrintService(ps) ;
}
catch(PrinterException e){
}
Printable pt;
String string = "Aprendo a imprimir\ncom JAVA.\n impressão";
pt = new TemQueCoseguir(string);
pj.setPrintable(pt);
try {
pj.print();
} catch (PrinterException pe) {
System.out.println("Erro durante a impressão.\n");
}
}
}
Valdeilton d...
Novo Membro
Registrado
1 Mensagem
0 Curtidas
Teste de impressão Java para impressora Bematech MP 2500 TH
#1 Por Valdeilton d...
15/06/2015 - 23:05