Bom dia meus amigos,
Estou pesquisando as classes de impressão do Java 6.
Encontrei algumas classes interessantes como a PrintService e a PrinterJob.
Com elas até consegui identificar quando acontece alguma modificação na fila de impressão, como por exemplo a chegada de documentos na fila, exclusão… etc.
O que eu queria agora é adquirir as informações dos arquivos que entram na fila de impressão.
Segue o código que eu montei para pesquisa. Ele tá um pouco feio, mas por enquanto é apenas para pesquisa mesmo.
[code]package br.com.tiago.controleImpressao;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.event.PrintServiceAttributeEvent;
import javax.print.event.PrintServiceAttributeListener;
public class ControleImpressao {
public static void main(String[] args) {
//Localiza a impressora padrão
final PrintService impressoraPadrao = PrintServiceLookup
.lookupDefaultPrintService();
final PrinterJob pj = PrinterJob.getPrinterJob();
try {
pj.setPrintService(impressoraPadrao);
} catch (PrinterException e) {
e.printStackTrace();
}
impressoraPadrao
.addPrintServiceAttributeListener(new PrintServiceAttributeListener() {
@Override
public void attributeUpdate(PrintServiceAttributeEvent psae) {
try {
pj.setPrintService(impressoraPadrao);
} catch (PrinterException e) {
e.printStackTrace();
}
System.out.println(pj.getJobName());
}
});
for (;;) {
}
}
}
[/code]
Sempre que um arquivo entra na fila de impressão, quando eu tento recuperar o nome do arquivo recebo a String Java Printing. Dá a impressão que o erro está no uso da classe PrinterJob. Alguém consegue me ajudar.
Desde já agradeço a colaboração.
Um forte abraço