pues mira yo tengo asi, y no me da problema con ningun tipo de impresora, tal vez
sea por que estas con el tipo .jasper, en cambio yo trabajo con el .jrxml.
este funciona con una lib llamada Jdt-compiler-3.1.1.jar,
prueba y me cuentas..
public void EjecutarReporte()
{
JasperReport jasperReport;
try
{
//Ruta de Archivo Jasper
String fileName = System.getProperty("user.dir") + "\\Reportes\\Prueba.jrxml" ;
// compilado
jasperReport = JasperCompileManager.compileReport(fileName);
//Obtner una conexión a la base de datos
//Pasamos parametros al reporte Jasper.
Map parameters = new HashMap();
//Preparacion del reporte (en esta etapa llena el diseño de reporte)
//Reporte diseñado y compilado con iReport
cnx = Conexion.CrearConexion();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, cnx);
//Se lanza el Viewer de Jasper, no termina aplicación al salir
JasperViewer jviewer = new JasperViewer(jasperPrint,false);
jviewer.show();
}
catch (Exception j)
{
System.out.println("Mensaje de Error:"+j.getMessage());
}
}