Opa galera, eu estava aqui treinando e testando uns comandos que aprendi na internet e fiz um simples programa de impressão, mas quando eu imprimo, as palavras com acento e com ç ficam bugadas no papel, como faço para adicionar o modo UTF-8 no meu código de impressão?
Segue código:
public static File ListarImpressoras(File local)
{
// Mostrar todas as impressoras conectadas no computador
PrintService [] impressorasdedectada = PrintServiceLookup.lookupPrintServices(DocFlavor.INPUT_STREAM.AUTOSENSE, null);
// Mostrar a impressora padrão
PrintService impressorapadrao = PrintServiceLookup.lookupDefaultPrintService();
// Imprimindo
DocFlavor tipotexto = DocFlavor.INPUT_STREAM.AUTOSENSE;
HashDocAttributeSet atributo = new HashDocAttributeSet();
try {
FileInputStream arquivo = new FileInputStream(local);
Doc documento = new SimpleDoc(arquivo, tipotexto, atributo);
PrintRequestAttributeSet parametros = new HashPrintRequestAttributeSet();
PrintService servicoimprimir = ServiceUI.printDialog(null, 450, 350, impressorasdedectada, impressorapadrao, tipotexto, parametros);
if(servicoimprimir != null){
DocPrintJob documentoimpressao = servicoimprimir.createPrintJob();
try {
// Mandar imprimir
documentoimpressao.print(documento, parametros);
} catch (PrintException ex) {
JOptionPane.showMessageDialog(null, "Erro: "+ex);
}
}else{
JOptionPane.showMessageDialog(null, "Erro ao imprimir!");
}
} catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, "Erro ao imprimir!");
}
return local;
}
Esse “local” é o arquivo selecionado para imprimir na tela.