Boa tarde a todos,
Estou precisando imprimir direto em uma impressora usando o método abaixo, o método cria um job de impressão, a luz da impressora fica laranja, mas não imprime. Será que está faltando algo?
public void detectaImpressoras() {
PrintService [] printService = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.AUTOSENSE, null);
System.out.println("QTD de Impressoras Detectadas : "+printService.length); //Verifica quantas impressoras estão conectadas
PrintService impressorapadrao = PrintServiceLookup.lookupDefaultPrintService(); //Verifica qual é a impressora padrão
System.out.println("A impressora Padrão é : "+impressorapadrao.getName());
DocFlavor docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
HashDocAttributeSet hashDocAttributeSet = new HashDocAttributeSet();
try {
FileInputStream fileInputStream= new FileInputStream("c:/TESTE.txt");
Doc doc = new SimpleDoc(fileInputStream,docFlavor,hashDocAttributeSet);
PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet();
PrintService printServico = ServiceUI.printDialog(null, 200, 200, printService, impressorapadrao, docFlavor, printRequestAttributeSet);
if (printServico!=null){
DocPrintJob docPrintJob = printServico.createPrintJob();
try {
docPrintJob.print(doc, printRequestAttributeSet);
} catch (PrintException ex) {
JOptionPane.showMessageDialog(null, "Não foi possivel imprimir. Erro:\n "+ex);
}
}
}catch(FileNotFoundException erro){
// Logger.getLogger(ETIQUETA_CAIXA.class.getName()) .log(Level.SEVERE,null,erro));
JOptionPane.showMessageDialog(null,"Não foi possivel imprimir"+erro );
}
}