Impressão de relatório com subrelatório em PDF via upload de xml

194 views
Skip to first unread message

fernandoi godoi

unread,
Feb 10, 2011, 12:01:38 PM2/10/11
to javasf: JavaServer Faces Group
Estou tentando fazer o seguinte...

Tenho uma tela que faz o upload de um arquivo xml, e a partir deste
xml estou tentado gerar um relatorio em pdf automaticamente em tela,

Fiz da seguinte forma


<?xml version="1.0" encoding="UTF-8"?>
<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://
www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8"/>
<title></title>
<link type="text/css" rel="stylesheet" href="../skin/skin.css"/
>
</h:head>
<h:body>
<ui:include src="/includes/menu.xhtml"/>
<p:panel header="VISUALIZADOR E EMISSOR DE DANFE">
<h:form>
<h:outputLabel value="SELECIONE UM ARQUIVO XML"/>
<p:fileUpload sizeLimit="20480000" auto="true"
widgetVar="uploader" label="Procurar..."
fileUploadListener="#{visualizadorMB.metodo}"
allowTypes="*.xml;"
description="Arquivo .xml*" multiple="false" customUI="true"
style="margin-left: 10px;"/>

</h:form>
</p:panel>
<ui:include src="/includes/rodape.xhtml"/>
</h:body>
</html>


ManegedBean está assim!


public void metodo(FileUploadEvent event) {
try {

XStream x = new XStream();
x.autodetectAnnotations(true);
x.alias("nfeProc", NfeProc.class);
NfeProc nfeProc = (NfeProc)
x.fromXML(event.getFile().getInputstream());

List<NfeProc> lista = new ArrayList<NfeProc>();
lista.add(nfeProc);

FacesContext context = FacesContext.getCurrentInstance();
ServletContext servletContext = (ServletContext)
context.getExternalContext().getContext();

Integer qVol = 0;
String esp = "";
String marca = "";
String nVol = "";
Integer i = 0;
BigDecimal pesoL = BigDecimal.ZERO;
BigDecimal pesoB = BigDecimal.ZERO;

List<Vol> listVol =
nfeProc.getNFe().getInfNFe().getTransp().getVols();
if (listVol != null) {

for (Vol v : listVol) {
qVol = qVol + Integer.valueOf(v.getqVol());
esp = esp + v.getEsp();
marca = marca + v.getMarca();
nVol = nVol + v.getnVol();
pesoL = pesoL.add(new BigDecimal(v.getPesoL()));
pesoB = pesoB.add(new BigDecimal(v.getPesoB()));
i++;
}

}

Map<String, String> parametros = new HashMap<String,
String>();

parametros.put("qVol", qVol.toString());
parametros.put("esp", esp);
parametros.put("pesoL", new
DecimalFormat("#,###0.000").format(pesoL));
parametros.put("pesoB", new
DecimalFormat("#,###0.000").format(pesoB));

if (i > 2) {
parametros.put("esp", "VER. INF. COMPL");
parametros.put("marca", "VER. INF. COMPL");
parametros.put("nVol", "VER. INF. COMPL");
} else {
parametros.put("esp", esp);
parametros.put("marca", marca);
parametros.put("nVol", nVol);
}



try {

HttpServletResponse response = (HttpServletResponse)
context.getExternalContext().getResponse();
InputStream caminho = getClass().getResourceAsStream("/
br/com/nfe/relatorio/danfe.jrxml");
response.setContentType("application/pdf");
response.addHeader("Content-Disposition", "attachment;
filename=\"Danfe.pdf\"");
JRBeanCollectionDataSource dados = new
JRBeanCollectionDataSource(lista);
JasperReport pathReport;
pathReport =
JasperCompileManager.compileReport(caminho);
JasperPrint preencher =
JasperFillManager.fillReport(pathReport, null, dados);
JasperExportManager.exportReportToPdfStream(preencher,
response.getOutputStream());

context.getApplication().getStateManager().saveView(context);
context.responseComplete();
} catch (JRException ex) {

Logger.getLogger(VisualizadorMB.class.getName()).log(Level.SEVERE,
null, ex);
}

} catch (IOException ex) {
ex.printStackTrace();
}

}



Porém esta me retornando este erro.. Ja troquei a versão do jar do
iText mais continua mesma coisa.... Alguém pode dar uma idéia! Pois na
impressão com jasper funciona normalmente!


javax.el.ELException: /relatorio/visualizadorDanfe.xhtml @23,141
fileUploadListener="#{visualizadorMB.metodo}":
java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
at
com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:
108)
at
org.primefaces.component.fileupload.FileUpload.broadcast(FileUpload.java:
238)
at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:746)
at
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:922)
at
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:
74)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:
308)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:
1523)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
343)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
215)
at
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:
77)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
256)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
215)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
277)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:
97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:
85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
185)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:
325)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
226)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:
165)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
791)
at
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:
170)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:
135)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
102)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
88)
at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:
76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:
53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:
57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NoClassDefFoundError: com/lowagie/text/pdf/
FontMapper
at
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(JasperExportManager.java:
158)
at
br.com.nfe.controle.relatorios.VisualizadorMB.metodo(VisualizadorMB.java:
155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at
com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at
com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:
102)
... 36 more
Caused by: java.lang.ClassNotFoundException:
com.lowagie.text.pdf.FontMapper
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at
org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:
959)
at
org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1430)
... 45 more

GRAVE: javax.faces.FacesException: /relatorio/visualizadorDanfe.xhtml
@23,141 fileUploadListener="#{visualizadorMB.metodo}":
java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
at
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:
82)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:
308)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:
1523)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
343)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
215)
at
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:
77)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
256)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
215)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
277)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:
97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:
85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
185)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:
325)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
226)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:
165)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
791)
at
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:
170)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:
135)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
102)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
88)
at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:
76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:
53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:
57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.el.ELException: /relatorio/visualizadorDanfe.xhtml
@23,141 fileUploadListener="#{visualizadorMB.metodo}":
java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
at
com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:
108)
at
org.primefaces.component.fileupload.FileUpload.broadcast(FileUpload.java:
238)
at
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:746)
at
javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:922)
at
com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:
74)
... 32 more
Caused by: java.lang.NoClassDefFoundError: com/lowagie/text/pdf/
FontMapper
at
net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfStream(JasperExportManager.java:
158)
at
br.com.nfe.controle.relatorios.VisualizadorMB.metodo(VisualizadorMB.java:
155)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:234)
at
com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at
com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:
102)
... 36 more
Caused by: java.lang.ClassNotFoundException:
com.lowagie.text.pdf.FontMapper
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at
org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:
959)
at
org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:
1430)
... 45 more

AVISO: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service()
for servlet Faces Servlet threw exception
java.lang.IllegalStateException: PWC3991: getOutputStream() has
already been called for this response
at
org.apache.catalina.connector.Response.getWriter(Response.java:707)
at
org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:
224)
at
com.sun.faces.context.ExternalContextImpl.getResponseOutputWriter(ExternalContextImpl.java:
719)
at
com.sun.faces.context.PartialViewContextImpl.createPartialResponseWriter(PartialViewContextImpl.java:
405)
at com.sun.faces.context.PartialViewContextImpl.access
$300(PartialViewContextImpl.java:67)
at com.sun.faces.context.PartialViewContextImpl
$DelayedInitPartialResponseWriter.getWrapped(PartialViewContextImpl.java:
543)
at
javax.faces.context.PartialResponseWriter.startDocument(PartialResponseWriter.java:
111)
at
org.primefaces.context.PrimePartialResponseWriter.startDocument(PrimePartialResponseWriter.java:
103)
at
com.sun.faces.context.AjaxExceptionHandlerImpl.handlePartialResponseError(AjaxExceptionHandlerImpl.java:
195)
at
com.sun.faces.context.AjaxExceptionHandlerImpl.handle(AjaxExceptionHandlerImpl.java:
119)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:115)
at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:
308)
at
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:
1523)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
343)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
215)
at
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:
77)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
256)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
215)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
277)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
188)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
641)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:
97)
at
com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:
85)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
185)
at
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:
325)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
226)
at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:
165)
at
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:
791)
at
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:
170)
at
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:
135)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
102)
at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
88)
at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:
76)
at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:
53)
at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:
57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool
$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:662)

Walter Mourão

unread,
Feb 10, 2011, 12:08:13 PM2/10/11
to jav...@googlegroups.com
Acrescente a library itext ao seu projeto (aproveite e revise as dependências do Jasper :-) ).

Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br



2011/2/10 fernandoi godoi <fernand...@gmail.com>

--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

Erich Cainã

unread,
Feb 10, 2011, 12:12:18 PM2/10/11
to jav...@googlegroups.com

tenta trocar novamente as versões pois tem varias, pode ter conflito.
revisar éo jeito

Rafael Oliveira

unread,
Feb 10, 2011, 12:19:12 PM2/10/11
to jav...@googlegroups.com
e pegue a versão 2.x
a última não tem o pacote lowagie... ;)

2011/2/10 Walter Mourão <walter...@gmail.com>

Rafael Oliveira

unread,
Feb 10, 2011, 12:18:20 PM2/10/11
to jav...@googlegroups.com
olha, eu nunca trabalhei com Jasper, mas me parece que você está usando uma versão mais recente do itext...
as versões mais recentes do iText tiveram os pacotes renomeados...

eu tinha um erro parecido quando peguei a ultima versao do iText e fui usar o dataExporter do primefaces... dava a exception de não achar a classe...

2011/2/10 fernandoi godoi <fernand...@gmail.com>
--
Você recebeu esta mensagem por que é membro do  Javasf
http://groups.google.com/group/javasf

Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil

fernandoi godoi

unread,
Feb 10, 2011, 12:33:00 PM2/10/11
to javasf: JavaServer Faces Group
troquei a versão do iText aqui o erro sumiu!!
mais não gerou o PDF ainda assim!


On Feb 10, 3:12 pm, Erich Cainã <erichca...@germantech.com.br> wrote:
> tenta trocar novamente as vers�es pois tem varias, pode ter conflito.
> revisar �o jeito
>
> Em 10/02/2011 15:08, Walter Mour�o escreveu:
>
> > Acrescente a library itext <http://itextpdf.com/> ao seu projeto
> > (aproveite e revise as depend�ncias do Jasper :-) ).
>
> > Walter Mour�o
> > 2011/2/10 fernandoi godoi <fernandogodo...@gmail.com
> > <mailto:fernandogodo...@gmail.com>>
>
> >     Estou tentando fazer o seguinte...
>
> >     Tenho uma tela que faz o upload de um arquivo xml, e a partir deste
> >     xml estou tentado gerar um relatorio em pdf automaticamente em tela,
>
> >     Fiz da seguinte forma
>
> >     <?xml version="1.0" encoding="UTF-8"?>
> >     <!--
> >     To change this template, choose Tools | Templates
> >     and open the template in the editor.
> >     -->
> >     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://
> >    www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
> >     <http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd>">
> >     ManegedBean est� assim!
> >     Por�m esta me retornando este erro.. Ja troquei a vers�o do jar do
> >     iText mais continua mesma coisa.... Algu�m pode dar uma id�ia! Pois na
> >     impress�o com jasper funciona normalmente!
> ...
>
> read more »

Fernando GodoY

unread,
Feb 10, 2011, 12:21:08 PM2/10/11
to jav...@googlegroups.com
Estou usando o iText 5.0.6 no meu projeto...

com o jasper eu consigui gerar normalmene porém em PDF estou tendo problemas!

fernandoi godoi

unread,
Feb 10, 2011, 12:29:16 PM2/10/11
to javasf: JavaServer Faces Group
Bom troquei a biblioteca!

o erro que estava dando sumiu!
porém não gerou o PDF



On Feb 10, 3:18 pm, Rafael Oliveira <rafaelomarq...@gmail.com> wrote:
> olha, eu nunca trabalhei com Jasper, mas me parece que você está usando uma
> versão mais recente do itext...
> as versões mais recentes do iText tiveram os pacotes renomeados...
>
> eu tinha um erro parecido quando peguei a ultima versao do iText e fui usar
> o dataExporter do primefaces... dava a exception de não achar a classe...
>
> 2011/2/10 fernandoi godoi <fernandogodo...@gmail.com>
> ...
>
> read more »

Erich Cainã

unread,
Feb 11, 2011, 5:09:14 AM2/11/11
to jav...@googlegroups.com
debuga e veja se n�o tem algo nulo

Flavio Cysne

unread,
Feb 11, 2011, 7:05:07 AM2/11/11
to jav...@googlegroups.com
Fernando,

    se não estiver gerando nenhum erro no console, o problema pode estar na fonte de dados do seu relatório (JRBeanCollectionDataSource). Ela pode estar indo vazia. Habilite no seu relatório a opção de imprimir os cabeçalhos mesmo quando a fonte de dados vier vazia, na opção WhenNoData selecione AllSectionsNoDetail.

Atenciosamente,
Flávio Cysne.

Flavio Cysne

unread,
Feb 11, 2011, 7:10:09 AM2/11/11
to jav...@googlegroups.com
Fernando,

    só p/ complementar, segue um link que pode te ajudar ou pelo menos servir de referência.

    http://ireport-guide.blogspot.com/2008/05/how-to-execute-jasper-report-through.html

Atenciosamente,
Flávio Cysne.

Altieres de Matos

unread,
Feb 11, 2011, 10:28:51 AM2/11/11
to jav...@googlegroups.com
Flavio,
 
estou trabalhando junto com o Fernando vendo esse erro do relatório, a fonte de dados está correta, debugamos e a lista está com itens, e colocamos um relatorio com informação que aparecem mesmo que não tenha nada na lista e mesmo assim ele não aparece.
 
Erich,
 
Debugamos e não tem nenhum objeto nulo!

fernandoi godoi

unread,
Feb 11, 2011, 12:19:10 PM2/11/11
to javasf: JavaServer Faces Group
Obrigado Flavio,
Consegui fazer o que eu queria agora pouco... só vou dar uma otimizada
no código e posto aqui como ficou para ajudar quem tiver duvida.

On Feb 11, 10:10 am, Flavio Cysne <flaviocy...@gmail.com> wrote:
> Fernando,
>
>     só p/ complementar, segue um link que pode te ajudar ou pelo menos
> servir de referência.
>
> http://ireport-guide.blogspot.com/2008/05/how-to-execute-jasper-repor...
>
> Atenciosamente,
> Flávio Cysne.
>
> Em 11 de fevereiro de 2011 09:05, Flavio Cysne <flaviocy...@gmail.com>escreveu:
>
> > Fernando,
>
> >     se não estiver gerando nenhum erro no console, o problema pode estar na
> > fonte de dados do seu relatório (JRBeanCollectionDataSource). Ela pode estar
> > indo vazia. Habilite no seu relatório a opção de imprimir os cabeçalhos
> > mesmo quando a fonte de dados vier vazia, na opção WhenNoData selecione
> > AllSectionsNoDetail.
>
> > Atenciosamente,
> > Flávio Cysne.
>
> > Em 10 de fevereiro de 2011 14:21, Fernando GodoY <
> > fernandogodo...@gmail.com> escreveu:
>
> > Estou usando o iText 5.0.6 no meu projeto...
>
> >> com o jasper eu consigui gerar normalmene porém em PDF estou tendo
> >> problemas!
>
> >> Em 10 de fevereiro de 2011 15:08, Walter Mourão <walter.mou...@gmail.com>escreveu:
>
> >> Acrescente a library itext <http://itextpdf.com/> ao seu projeto
> >>> (aproveite e revise as dependências do Jasper :-) ).
>
> >>> Walter Mourão
> >>>http://waltermourao.com.br
> >>>http://arcadian.com.br
> >>>http://oriens.com.br
>
> >>> 2011/2/10 fernandoi godoi <fernandogodo...@gmail.com>
> ...
>
> read more »

fernandoi godoi

unread,
Feb 11, 2011, 11:19:29 PM2/11/11
to javasf: JavaServer Faces Group
Bom consegui finalmente fazer meu ulpload com a geração do PDF

Estou postando a classe que gera o PDF para ajudar quem precise:


public String geraPdf() {
try {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)
context.getExternalContext().getResponse();
ServletContext servletContext = (ServletContext)
context.getExternalContext().getContext();
NfeProc nfeProc = (NfeProc) x.fromXML(input);
Long tipo =
nfeProc.getNFe().getInfNFe().getIde().getTpImp();
if (tipo == 1) {
caminho = servletContext.getRealPath("/relatorio/
danfe.jasper");
subRelatorio = servletContext.getRealPath("/
relatorio/");
} else {
caminho = servletContext.getRealPath("/relatorio/
danfePaisagem.jasper");
subRelatorio = servletContext.getRealPath("/
relatorio/");
}
lista = new ArrayList<NfeProc>();
lista.add(nfeProc);
Integer qVol = 0;
String esp = "";
String marca = "";
String nVol = "";
Integer i = 0;
BigDecimal pesoL = BigDecimal.ZERO;
BigDecimal pesoB = BigDecimal.ZERO;
List<Vol> listVol =
nfeProc.getNFe().getInfNFe().getTransp().getVols();
if (listVol != null) {
for (Vol v : listVol) {
qVol = qVol + Integer.valueOf(v.getqVol());
esp = esp + v.getEsp();
marca = marca + v.getMarca();
nVol = nVol + v.getnVol();
pesoL = pesoL.add(new BigDecimal(v.getPesoL()));
pesoB = pesoB.add(new BigDecimal(v.getPesoB()));
i++;
}
}
Map<String, String> parametros = new HashMap<String,
String>();
parametros.put("SUBREPORT_DIR", subRelatorio);
System.out.println(parametros);
parametros.put("qVol", qVol.toString());
parametros.put("esp", esp);
parametros.put("pesoL", new
DecimalFormat("#,###0.000").format(pesoL));
parametros.put("pesoB", new
DecimalFormat("#,###0.000").format(pesoB));
if (i > 2) {
parametros.put("esp", "VER. INF. COMPL");
parametros.put("marca", "VER. INF. COMPL");
parametros.put("nVol", "VER. INF. COMPL");
} else {
parametros.put("esp", esp);
parametros.put("marca", marca);
parametros.put("nVol", nVol);
}
JasperPrint report = null;
report = JasperFillManager.fillReport(caminho, parametros,
new JRBeanCollectionDataSource(lista));
response.setContentType("application/pdf");
byte[] x1 = JasperExportManager.exportReportToPdf(report);
response.getOutputStream().write(x1);
context.responseComplete();
} catch (IOException ex) {

Logger.getLogger(VisualizadorMB.class.getName()).log(Level.SEVERE,
null, ex);
} catch (Exception e) {
System.out.println(e.getMessage());
}
return "exibeRelatorio";
}
Reply all
Reply to author
Forward
0 new messages