Tenho um aplicativo que ao clicar no botão o Ireport abre o relatório normal, mais eu estou precisando de um método que ao clicar no botão em vez de abrir o relatório, o aplicativo imprima direto na impressora padrão do computador na página especifica do relatório.
ex.: Relatório de quatro paginas que imprima direto na impressora somente a página numero 2.
o codigo abaixo é usado para abrir o relatório normal.
AcessoBD acessoBd = new AcessoBD();
if (ctrc.getValue() == null){
JOptionPane.showMessageDialog(this,"Informe o CTRC","Erro",JOptionPane.INFORMATION_MESSAGE);
ctrc.requestFocus();
}else {
try {
HashMap parametros = new HashMap();
parametros.put("SUBREPORT_DIR", System.getProperty("user.dir") + "\\relatorios\\");
parametros.put("CODIGO_VENDA", ctrc.getValue());
JasperPrint jp = JasperFillManager.fillReport(System.getProperty("user.dir") + "\\relatorios\\Ctrc.jasper", parametros, acessoBd.conectar());
JasperViewer.viewReport(jp, false);
} catch (JRException ex) {
Logger.getLogger(RelatorioCtrcFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
por favor me ajude nessa solução.