I’m generating A4 paper PDF report and printing through AcroRd32.exe which is printing without any print range problem but when I try to print JRPrintServiceExporter the print range is not correct and print out is going out the A4 size paper This is my code Code:JasperReport jasRep = null; JasperPrint jasperPrint = null; JasperDesign jasperDesign = null; try { jasperDesign = JRXmlLoader .load(“std_delivery_note.jrxmlâ€); jasRep = JasperCompileManager.compileReport(jasperDesign); jasperPrint = JasperFillManager.fillReport(jasRep, parameters, db .getConnection()); PrinterJob job = PrinterJob.getPrinterJob(); PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); int selectedService = 0; for(int i = 0; i <services.length;i++){ if(services.getName().contains("HP"«»)){ selectedService = i; } } System.out.println("Selected " + services[selectedService].getName()); job.setPrintService(services[selectedService]); PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet(); MediaSizeName mediaSizeName = MediaSize.ISO.A4.getMediaSizeName(); printRequestAttributeSet.add(mediaSizeName); printRequestAttributeSet.add(new Copies(1)); JRPrintServiceExporter exporter; exporter = new JRPrintServiceExporter(); exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE, services[selectedService]); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_SERVICE_ATTRIBUTE_SET, services[selectedService].getAttributes()); exporter.setParameter(JRPrintServiceExporterParameter.PRINT_REQUEST_ATTRIBUTE_SET, printRequestAttributeSet); exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PAGE_DIALOG, Boolean.FALSE); exporter.setParameter(JRPrintServiceExporterParameter.DISPLAY_PRINT_DIALOG, Boolean.FALSE); exporter.exportReport(); System.out.println("Done"«»); } catch (JRException e) { // lg.error(prog, module + ", Error" + e.getMessage()); System.out.println("ERRor " + e.getMessage()); } catch (PrinterException e) { // lg.error(prog, module + ", Error" + e.getMessage()); System.out.println("ERRor " + e.getMessage()); } Please help me whether am I missing any print range property :(