Olá Pessoal,
Alguém saberia como fazer para imprimir diretamente em uma impressora fiscal, um relatório gerado com iReport?
Alguém teria um exemplo de como deve ser o servlet para isto?
Consigo gerar os relatorios em pdf, mas esta impressora não imprime pdf.
Segue o codigo do servlet que estou usando:
public class RelatorioPedidoD extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws javax.servlet.ServletException
* @throws java.io.IOException
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletOutputStream servletOutputStream =
response.getOutputStream();
String caminho = "/relatorio/";
String relatorio = caminho+"relatorioPedido.jasper";
InputStream reportStream = getServletConfig().
getServletContext().
getResourceAsStream(relatorio);
Connection connection = null;
//TextField tfcodturma = relatorios1.getTfcodturma();
String numpedido = request.getParameter("numpedido");
ServletContext context = getServletContext();
// String caldatacadastro = request.getParameter("caldatacadastro");
try {
//cria a conexão com o banco de dados
Class.forName("com.mysql.jdbc.Driver");
String db = "jdbc:mysql://localhost:3306/fastexpressonl?autoReconnect=true";
connection = (Connection) DriverManager.getConnection(db,"root",null);
// envia o relatório em formato PDF para o browser
HashMap parameterMap = new HashMap();
//Nome do parâmetro e o valor é passado ao HashMap
parameterMap.put("numpedido",Integer.parseInt(numpedido));
// parameterMap.put("SUBREPORT_DIR", context.getRealPath(caminho)+File.separator);
JasperPrint jasperPrint = JasperFillManager.fillReport(reportStream, parameterMap, connection);
JRRtfExporter rtfExporter = new JRRtfExporter();
rtfExporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
rtfExporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, caminho +"relatorio.rtf");
rtfExporter.exportReport();
//envia o relatório em formato PDF para o browser
// response.setContentType("application/pdf");
//para gerar o relatório em PDF
// o método runReportToPdfStream foi usado
//JasperRunManager.runReportToRtfStream(reportStream,
// servletOutputStream, parameterMap,connection);
}
catch (ClassNotFoundException ex) {
Logger.getLogger(RelatorioPedidoD.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(RelatorioPedidoD.class.getName()).log(Level.SEVERE, null, ex);
} catch (JRException e) {
Logger.getLogger(RelatorioPedidoD.class.getName()).log(Level.SEVERE, null, e);
}
finally{
servletOutputStream.flush();
servletOutputStream.close();
try {
if (connection != null) {
connection.close();
}
} catch (SQLException ex) {
Logger.getLogger(RelatorioPedidoD.class.getName()).log(Level.SEVERE, null, ex);
}
}
}