Escolha de impressora para impressão de cupom

1 resposta
cleitonoliveira

Pessoal boa tarde, alguém poderia me dar uma ajudinha, eu tenho um sisteminha aqui e faço a impressão de cupom fiscal tudo certinho, porem o método usado para esta impressão, pega-se a impressora padrão, e preciso mudar isso, preciso abrir uma caixa de escolha onde possa escolher a impressora, porem não lembro dos códigos, e não achei em lugar algum, abaixo o código usado.

public void imprimir(String pTexto) {

try {

InputStream prin = new ByteArrayInputStream(pTexto.getBytes());

DocFlavor docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

SimpleDoc documentoTexto = new SimpleDoc(prin, docFlavor, null);

PrintService impressora = PrintServiceLookup.lookupDefaultPrintService();

//pega impressora padrao

PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();

printerAttributes.add(new JobName(Impressao, null));

printerAttributes.add(OrientationRequested.PORTRAIT);

printerAttributes.add(MediaSizeName.ISO_A4);

DocPrintJob printJob = impressora.createPrintJob();

try {

printJob.print(documentoTexto, (PrintRequestAttributeSet) printerAttributes);

} catch (PrintException e) {

JOptionPane.showMessageDialog(this, Erro ao Imprimir!!, Erro, JOptionPane.ERROR_MESSAGE);

}

prin.close();

} catch (Exception e) {
}
}

1 Resposta

cDarpa

Olá!
Pela descrição, acredito que seu problema seja apenas na linha “PrintService impressora = PrintServiceLookup.lookupDefaultPrintService();”, no caso, o método lookupDefaultPrintService(), certo?

Se sim, acredito que é possível usar o lookupPrintServices​(), pra não direcionar direto no default.

Se não, dá uma olhada na documentação do Java: Print service Lookup

Não tenho como clonar o ambiente, por isso n testei, mas boa sorte!

Criado 23 de abril de 2022
Ultima resposta 25 de abr. de 2022
Respostas 1
Participantes 2