Ola pessoal eu estou tendo um certo problema como imprimir.
Eu preciso imprimir um relatório que esta em um List em java
é um código para desktop
se alguém soube me ajuda
Explica melhor como é esse relatório, você só quer enviar para impressora? ou você ainda quer formatar o relatório e tudo mais, você tem alguma coisa pronta já?
Eu fiz assim, mas na hora de imprimir eu seleciono a impressora.
package bolao.view;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.PrintJob;
import java.awt.Toolkit;
import java.util.List;
import bolao.control.Bolaocontrol;
import bolao.model.vo.BolaoVo;
//Vamos agora � classe principal
public class Impressora {
Bolaocontrol bc;
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();
// 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, "print", null);
// Aqui se inicia a impress�o
if (pj != null) {
bc = new Bolaocontrol();
bc.abrirArquivo();
List<BolaoVo> aux = bc.listar();
Graphics g = pj.getGraphics();
g.drawString("Resultado do bol�o ", 250, 20);
int y =50;
g.drawString("Posi |", 0, y);
g.drawString("Nome", 50, y);
g.drawString(" | time 1", 130, y);
g.drawString(" | pts", 230, y);
g.drawString(" | time 2", 260, y);
g.drawString(" | pts", 360, y);
g.drawString(" | time 3", 390, y);
g.drawString(" | pts", 490, y);
g.drawString(" | pontos total", 520, y);
g.drawString("____________________________________________________________________________________________", 0, y);
int i = 1;
for(BolaoVo bolao : aux){
y = y+20;
g.drawString(" "+i+"� |", 0, y);
g.drawString(bolao.getNome(), 50, y);
g.drawString(" | "+bolao.getTime_1(), 130, y);
g.drawString(" | "+bc.ponto_Time(bolao.getTime_1()), 230, y);
g.drawString(" | "+bolao.getTime_2(), 260, y);
g.drawString(" | "+bc.ponto_Time(bolao.getTime_2()), 360, y);
g.drawString(" | "+bolao.getTime_3(), 390, y);
g.drawString(" | "+bc.ponto_Time(bolao.getTime_3()), 490, y);
g.drawString(" | "+bc.pontos_total(bolao.getTime_1(),bolao.getTime_2(),bolao.getTime_3()), 520, y);
g.drawString("____________________________________________________________________________________________", 0, y);
i++;
}
// libera os recursos gr�ficos
g.dispose();
// encerra a impress�o
pj.end();
}
// desfaz o frame tempor�rio
f.dispose();
}
}
A impressora ate funciona (entra a folha diz esta imprimindo), mas a folha sai do outro lado em branco
Olha cara nunca usei esse print job, mas se eu precisa-se fazer isso programaticamente
eu iria criar o arquivo fisicamente e enviar para a impressora utilizando a classe Desktop.
em voce consegue me mandar um exemplo?
Desktop d = Desktop.getDesktop();
d.print(File f);
O file é o arquivo que você quer imprimir pode ser um arquivo em qualquer formato que vai ser enviado à impressora default.
Desktop d = Desktop.getDesktop();
d.print(File f);
O file é o arquivo que você quer imprimir pode ser um arquivo em qualquer formato que vai ser enviado à impressora default.