[RESOLVIDO] IReport - Não exibe texto estilizado na aplicação

0 respostas
helders_sa

Olá a todos,

tenho uma aplicação em jsf que preciso exibir um documento para impressão.
utilizei o ireport pra fazer o jrxml e coloquei estilos

"... a empresa <style isBold=\"true\" pdfFontName=\"Times-Bold\">"
+$F{empresa}+"</style>, a iniciar ..."

Quando mando "Executar Relatório" pelo próprio IReport, o pdf sai certinho.assim:
... a empresa nomeDaEmpresa, a iniciar ...

mas quando executo o pdf da aplicação, sai assim:
... a empresa , a iniciar ...

chamo o relatorio assim:

public byte[] geraImpressao(String diretorioProjetos, ResultSet rs) {

	JRResultSetDataSource jrs = new JRResultSetDataSource(rs);
	Map parametros = new HashMap();

	try {
	    JasperPrint jp = JasperFillManager.fillReport(diretorioProjetos,
		    parametros, jrs);
	    return JasperExportManager.exportReportToPdf(jp);
} catch (JRException e) {
	    e.printStackTrace();
	}
GeraRelatorioGenericoPDF gera = new GeraRelatorioGenericoPDF();
			    byte[] bytes = gera.geraImpressao(
				    ((ServletContext) FacesContext
					    .getCurrentInstance()
					    .getExternalContext().getContext())
					    .getRealPath(File.separator)
					    + "WEB-INF"
					    + File.separator
					    + "classes"
					    + File.separator
					    + "relatorios"
					    + File.separator
					    + "assentamento"
					    + File.separator
					    + "alvaraConstrucao.jasper", rs);

			    ((HttpServletRequest) FacesContext
				    .getCurrentInstance().getExternalContext()
				    .getRequest()).getSession().setAttribute(
				    "relatorioPDF", bytes);
public class RelatorioPDFServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1)
			throws ServletException, IOException {

		byte[] bytes = (byte[]) arg0.getSession().getAttribute("relatorioPDF");

		arg1.setContentType("application/pdf");
		arg1.addHeader("Content-Type", "application/pdf");
		arg1.getOutputStream().write(bytes, 0, bytes.length);
		arg1.flushBuffer();
	}
}

alguém sabe como resolver isso e que quando eu chamar um relatorio pela aplicação ele vir com os estilos e em pdf?

obrigado.

SOLUÇÂO:
Era só a versão das libs no projeto. atualizei-as para a versão 3.0 e funcionou legal.
valeu

Criado 14 de julho de 2008
Respostas 0
Participantes 1