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)