Bo tarde,
Tenho uma aplicação aonde o usuário cadastra o código a ser impressora na impressora .
Acontece que o código a ser impresso existem caracteres com acento como ‘á’, ‘é’, ‘ã’ e também o caractere de ‘ç’.
Hoje eu salvo o conteúdo num arquivo TX e mando pra impressora da seguinte forma:
try {
arqImp = new File ("arquivo.txt");
SimpleDoc sd = new SimpleDoc(new FileInputStream(arqImp), DocFlavor.INPUT_STREAM.AUTOSENSE, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(1));
if (impressora != null) {;
impressora.createPrintJob().print(sd, aset);
}
} catch (Exception e) {
e.printStackTrace();
}
Deste jeito os caracteres de acentuação não são reconhecidos, viram ‘?’ na impressão.
Li em alguns lugares pra imprimir ASCII. Tentei salvar em ACSII no arquivo TXT, porém a impressão continua errada.
Li também para imprimir direto na porta, mas pra isso eu precisaria saber a porta, sendo que a impressora eu busco por:
PrinterJob.lookupPrintServices()
Existe alguma forma de eu conseguir descobrir em qual porta impressora esta?
Ou então alguma outra forma de mandar ASCII pra impressora?