Pessoal, gostaria de imprimir em uma impressora que aceita impressão Duplex, porém imprimir em apenas um lado da folha. Uso para imprimir o método abaixo. Ele funciona perfeitamente, exceto por um motivo: ignora aset.add(Sides.ONE_SIDED);
nas impressoras duplex e acaba imprimindo dos dois lados. Achei que poderia ser problema de permissão, mas executei um outro aplicativo que não é feito em java e na hora de imprimir selecionei a opção não duplex e a impressão foi correta. Alguém sabe se tenho como forçar isso, ou alguma maneira de “enganar” a impressora.
public Boolean imprimir(Boolean excluir){
FileInputStream psStream = null;
try {
psStream = new FileInputStream(caminhoNomeArquivo);
if (psStream == null) {
return false;
}
} catch (FileNotFoundException fnfe) {
return false;
}
DocFlavor psInFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc myDoc = new SimpleDoc(psStream, psInFormat, null);
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();
aset.add(new Copies(1));
aset.add(Sides.ONE_SIDED);
if(servico != null){
DocPrintJob job = servico.createPrintJob();
try {
job.print(myDoc, aset);
excluir();
return true;
} catch (PrintException pe) {
pe.printStackTrace();
return false;
}
}else{
return false;
}
}
Obrigado