Primefaces dataExporter[resolvido]

implementei certinho como ta no exemplo do primefaces mas me da um erro cabuloso o exemplo é esse http://www.primefaces.org/showcase-labs/ui/exporterProcessor.jsf

meu metodo

[code]view plaincopy to clipboardprint?
public void preProcessPDF(Object document) throws IOException, BadElementException, DocumentException {
Document pdf = (Document) document;
pdf.open();
pdf.setPageSize(PageSize.A4);

    ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();    
    String logo = servletContext.getRealPath("") + File.separator + "images" + File.separator + "prime_logo.png";    
    
    pdf.add(Image.getInstance(logo));    
}    

[/code]

o erro

view plaincopy to clipboardprint?
11/01/2012 17:23:48 com.sun.faces.lifecycle.InvokeApplicationPhase execute  
AVISO: /paginas/teste.xhtml @52,57 preProcessor="#{funcionarioBean.preProcessPDF}": java.lang.ClassCastException: com.lowagie.text.Document cannot be cast to com.itextpdf.text.Document  
javax.el.ELException: /paginas/teste.xhtml @52,57 preProcessor="#{funcionarioBean.preProcessPDF}": java.lang.ClassCastException: com.lowagie.text.Document cannot be cast to com.itextpdf.text.Document  
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:104)  
    at org.primefaces.component.export.PDFExporter.export(PDFExporter.java:50)  
    at org.primefaces.component.export.DataExporter.processAction(DataExporter.java:94)  
    at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)  
    at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:772)  
    at javax.faces.component.UICommand.broadcast(UICommand.java:300)  
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)  
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)  
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)  
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)  
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)  
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)  
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)  
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)  
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)  
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)  
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)  
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)  
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)  
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)  
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)  
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)  
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)  
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)  
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)  
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
    at java.lang.Thread.run(Unknown Source)  
Caused by: java.lang.ClassCastException: com.lowagie.text.Document cannot be cast to com.itextpdf.text.Document  
    at br.com.projeto.controller.FuncionarioBean.preProcessPDF(FuncionarioBean.java:159)  
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
    at java.lang.reflect.Method.invoke(Unknown Source)  
    at org.apache.el.parser.AstValue.invoke(AstValue.java:262)  
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)  
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)  
    ... 57 more  
11/01/2012 17:23:48 org.apache.catalina.core.StandardWrapperValve invoke  
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/Projeto_Faculdade] threw exception [com.lowagie.text.Document cannot be cast to com.itextpdf.text.Document] with root cause  
java.lang.ClassCastException: com.lowagie.text.Document cannot be cast to com.itextpdf.text.Document  
    at br.com.projeto.controller.FuncionarioBean.preProcessPDF(FuncionarioBean.java:159)  
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)  
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)  
    at java.lang.reflect.Method.invoke(Unknown Source)  
    at org.apache.el.parser.AstValue.invoke(AstValue.java:262)  
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)  
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)  
    at org.primefaces.component.export.PDFExporter.export(PDFExporter.java:50)  
    at org.primefaces.component.export.DataExporter.processAction(DataExporter.java:94)  
    at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)  
    at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:772)  
    at javax.faces.component.UICommand.broadcast(UICommand.java:300)  
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)  
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)  
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)  
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)  
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)  
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:343)  
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)  
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)  
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:355)  
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:149)  
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)  
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)  
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)  
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)  
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)  
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)  
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)  
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)  
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:403)  
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:301)  
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:162)  
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
    at java.lang.Thread.run(Unknown Source)  

meus imports

view plaincopy to clipboardprint?
import com.itextpdf.text.BadElementException;  
  
import com.itextpdf.text.Document;  
import com.itextpdf.text.DocumentException;  
import com.itextpdf.text.Image;  
import com.itextpdf.text.PageSize;  

coloquei os jars do itext e do POI

E ai!
tenho algo que pode te ajudar

[code] public void preProcessPDF(Object document) throws IOException,
BadElementException, DocumentException {
Document pdf = (Document) document;

	ServletContext servletContext = (ServletContext)
	FacesContext.getCurrentInstance().getExternalContext().getContext();
		
	String logo = servletContext.getRealPath("") + File.separator + "template/img" + File.separator + "logo_topo.png";
	
	System.out.println(logo);
	
	HeaderFooter header = new HeaderFooter(new Phrase("Tabela de produtos"), false);
	pdf.setHeader(header);		
	if(!pdf.isOpen()) {
		pdf.open();
		pdf.add(Image.getInstance(logo));
	}
}[/code]

as dependencias no maven

		 <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.7</version>
        </dependency>
         <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.1.7</version>
          </dependency>

Sesshoumaru

Não uso Maven no meu projeto e fiz conforme o exemplo da documentação do Primefaces.
Está dando o seguinte erro: java.lang.ClassCastException: com.lowagie.text.Document cannot be cast to com.itextpdf.text.Document.

O erro ocorre no cast do Object document para o Document pdf.

Como fazer o cast??? Você saberia me dizer???

Minhas libs: itext 2.1.7.jar, itext 2.1.7.js2.jar e itextPdf 5.5.2.jar

Obrigado pela atenção.