Pessoal ao solicitar a impressão do relatório ele baixa automaticamente, no entanto eu gostaria que ele abrisse em um pop-up ou em outra aba, alguém pode me ajudar? seguem meus códigos
CLASSE QUE GERA O RELATORIO
package relatorio;
import classes.Documento;
import classes.Memorando;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.util.JRLoader;
/**
*
* @author Rafael Nobre
*/
public class Relatorio {
private HttpServletResponse response;
private FacesContext context;
private ByteArrayOutputStream baos;
private InputStream stream;
private Connection con;
public Relatorio() {
this.context = FacesContext.getCurrentInstance();
this.response = (HttpServletResponse) context.getExternalContext().getResponse();
}
public void getRelatotio(List<Memorando> lista, Long id) {
stream = this.getClass().getResourceAsStream("/jasper/memorando.jasper");
Map<String, Object> params = new HashMap<String, Object>();
baos = new ByteArrayOutputStream();
params.put("idDocumento", id);
try {
JasperReport report = (JasperReport) JRLoader.loadObject(stream);
JasperPrint print = JasperFillManager.fillReport(report, params, getConexao());
JasperExportManager.exportReportToPdfStream(print, baos);
response.reset();
response.setContentType("aplication/pdf");
response.setContentLength(baos.size());
response.setHeader("Content-disposition", "inline; filename=relatorio.pdf"); //se quiser forçar o download do relatorio mudar de inline para attachment
response.getOutputStream().write(baos.toByteArray());
response.getOutputStream().flush();
response.getOutputStream().close();
context.responseComplete();
fecharConexao();
} catch (JRException ex) {
new RuntimeException("Exceção no metodo GetRelatorio do Relatorio");
} catch (IOException ex) {
new RuntimeException("Exceção no metodo GetRelatorio do Relatorio");
}
}
public Connection getConexao() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/antares", "root", "");
return con;
} catch (SQLException | ClassNotFoundException ex) {
System.out.println("Exceção na conexao");
}
return con;
}
public void fecharConexao() {
try {
con.close();
} catch (SQLException ex) {
System.out.println("Exceção ao fechar conexao");
}
}
}