Impressão com Sides.ONE_SIDED

0 respostas
T

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

Criado 26 de julho de 2007
Respostas 0
Participantes 1