MediaSizeName.ISO_A4 nao funciona

Bom dia,

Estou tendo dificuldade para imprimir um PDF. O tamanho da imagem sai menor e algumas letras falhadas

Segue abaixo minha classe.

[code] public void printPDF(String caminhoArquivo, int nCopias, boolean retrato, String impressora) {

	FileInputStream psStream = null;  
    try {  
        File f = new File(caminhoArquivo);  
        psStream = new FileInputStream(f);                
        FileChannel fc = psStream.getChannel();  
        ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());  
        PDFFile pdfFile = new PDFFile(bb);  
        PDFPrintPage pages = new PDFPrintPage(pdfFile);            
        
        /* Seta configuracoes */
        PrintRequestAttributeSet aset = this.config(nCopias, retrato);
        
        /* PrinterJob */
        PrinterJob pj = PrinterJob.getPrinterJob();
        
        /* Configura qual impressora sera usada */            
        if (impressora == null) {
        	pj.setPrintService(PrintServiceLookup.lookupDefaultPrintService());
        } else {
            PrintService[] ps = PrinterJob.lookupPrintServices();              
            for(int i=0; i<ps.length; i++){  
                if(ps[i].toString().equals(impressora)){                	
                	pj.setPrintService(ps[i]);    
                	break;
                }
            }
        }
        
        PageFormat pf = pj.getPageFormat(aset);
        pj.setJobName(f.getName());
        pj.setCopies(nCopias);                
        Book book = new Book();
        book.append(pages, pf, pdfFile.getNumPages());
        pj.setPageable(book);
        pj.print();
    } catch (Exception ex) {
    	this.setError("Ocorreu um erro: " + ex.getMessage());        	
    }         	        
}

/**
 * @param nCopias
 * @param retrato
 * @return
 */
private PrintRequestAttributeSet config(int nCopias, boolean retrato) {
	PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();     
    aset.add(new Copies(nCopias));   
    aset.add(MediaSizeName.ISO_A4);  
    if (retrato) {
    	aset.add(OrientationRequested.PORTRAIT);
    } else {
    	aset.add(OrientationRequested.LANDSCAPE);
    }
    aset.add(Sides.TUMBLE);
    return aset;
}[/code]

Obrigado pela ajuda