I recently developed an action to export dataTables in excel files via POI.
just get the content of the dataTable in the managed-bean and build your report and after use the responsecomplete method. see http://www.jsffaq.com/ on how to do this 2006/1/17, Simon Kitching <[EMAIL PROTECTED]>: > Hmm.. > > It should be possible to define a JSP tag which extends the tomahawk > HtmlDataTableTag class except that getRendererType returns a different > value. An entry in faces-config.xml could then map this to a custom > Renderer class that generates an inline embedded PDF. A page could then > use this as: > > <z:pdfDataTable ....> > </z:pdfDataTable> > > The user could (I presume) then click "save as" to save it. > > That sounds rather interesting! Not a complete pdf rendering suite, just > a few chosen components. [NB: I'm not volunteering to help; just saying > it sounds useful!]. > > It would be a little tricky to bundle this in tomahawk, however. It > would not be desirable to declare itext (or fop) as a dependency of > tomahawk just because one component needs it. Perhaps maven needs some > way to express "class X has a dependency on library Y", so that this > sort of thing can be done. The FileUpload component also falls into > this category. > > License issues might be tricky too; itext is under MPL/LGPL. I know > there are some issues with LGPL, not sure about MPL. The jsfcomp project > could be a home for it though. > > A complete PDF RenderKit using AcroForms *would* be kind of cute. > However I think there are higher priority issues :-) > > Cheers, > > Simon > > > On Tue, 2006-01-17 at 11:21 +0100, Matthias Wessendorf wrote: > > for something like UIData is make pretty sense to me > > > > On 1/17/06, Jurgen Lust <[EMAIL PROTECTED]> wrote: > > > I would definitely write pdf renderers for some components if other > > > people > > > want to help... > > > > > > Jurgen > > > > > > Matthias Wessendorf schreef: > > > Right Juergen! > > > > > > would you like to volunteer ? :-) > > > > > > SpringMVC has some *pdf* based rendering stuff. > > > > > > -Matthias > > > > > > On 1/17/06, Jurgen Lust <[EMAIL PROTECTED]> wrote: > > > > > > > > > Theoretically, you could write a new RenderKit which renders a JSF page > > > to > > > PDF instead of HTML. It would probably even work with AcroForms... > > > > > > Jurgen > > > > > > Simon Kitching schreef: > > > Hi Hans, > > > > > > What Matthias describes below is where you have a JSF page, and you want > > > a button labelled "generate report" or similar that creates some kind of > > > PDF document then serves it up to the user's browser. But that PDF isn't > > > "a picture of the current page", it's a PDF generated using data pulled > > > from a database or something like that. If that's really what you are > > > after then FOP is a good tool for that; your java code creates some xml > > > using the FO schema, then feeds it to the FOP library. Nothing to do > > > with JSF though. > > > > > > There is no way to "generate a pdf that looks like my html screen" from > > > java code which I believe is what you want to do. Some browsers provide > > > a "print page" option, and some operating systems provide a "print to > > > PDF" option in the print dialog so that's one way of creating a PDF that > > > contains the current page but it's manual. > > > > > > The FOP project is here: > > > http://xmlgraphics.apache.org/fop/ > > > > > > Regards, > > > > > > Simon > > > > > > > > > > > > > > > On Tue, 2006-01-17 at 09:58 +0100, Hansjörg Meuschel wrote: > > > > > > > > > Hi Matthias, > > > > > > thanks for your help... a friend of mine also recommended FOP in > > > between. I took a look at the api but it seems to me that FOP uses XML > > > to generate a PDF? ! > > > --> So how can I convert my jsf page into the required FOP-input > > > format?? I could not find any docu to fop (except some broken links...) ? > > > > > > regards, > > > Hans > > > > > > > > > > > > Matthias Wessendorf wrote: > > > > > > > > > > > > Hansjoerg, > > > > > > we have worked with Apache FOP for creating pdfs. iText or > > > JasperReports are also lib that help you on that task. > > > > > > inside of your backing bean method (referenced by a commandLink or > > > cmdButton) you can do somthing like this: > > > > > > public String pdf() { > > > > > > FacesContext ctx = FacesContext.getCurrentInstance(); > > > > > > if(!ctx.getResponseComplete()) { > > > > > > > > > HttpServletResponse response = (HttpServletResponse) > > > ctx.getExternalContext().getResponse(); > > > > > > byte[] file = //do some FOP, or ... stuff; > > > > > > response.setContentType("application/pdf"); > > > response.setHeader("Content-Disposition", "inline; > > > filename=\"foo.pdf\""); > > > response.setContentLength(file.length); > > > > > > OutputStream out = response.getOutputStream(); > > > out.write(file, 0, file.length); > > > out.flush(); > > > out.close(); > > > > > > ctx.responseComplete(); > > > > > > return null; > > > } > > > > > > > > > This will work in p(l)ain servlet or struts world too (expect of the > > > usage of jsf api (like FacesContext)) > > > > > > However, the *magic* here is the responseComplete() > > > <from_java_doc> > > > Signal the JavaServer Faces implementation that the HTTP response for > > > this request has already been generated (such as an HTTP redirect), > > > and that the request processing lifecycle should be terminated as soon > > > as the current phase is completed. > > > </from_java_doc> > > > > > > and yes... it's getResponseComplete() instead of isResponseComplete() > > > > > > HTH, > > > Matthias > > > > > > > > > On 1/15/06, Hansjörg Meuschel <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > Hi folks, > > > does anybody know what is the easiest way to get a jsf page as pdf > > > download? Are there any libraries available for free? > > > > > > > > > > > > > > > -- > > > Matthias Wessendorf > > > Zülpicher Wall 12, 239 > > > 50674 Köln > > > http://www.wessendorf.net > > > mwessendorf-at-gmail-dot-com > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Among flowers, the cherry blossom. > > > Among men, me. > > > > > > > > > > > > > > > > > > -- > > > Matthias Wessendorf > > > Zülpicher Wall 12, 239 > > > 50674 Köln > > > http://www.wessendorf.net > > > mwessendorf-at-gmail-dot-com > > > > > > > > > > > > -- > > > Among flowers, the cherry blossom. > > > Among men, me. > > > > > > > > > > > > > > > -- > > Matthias Wessendorf > > Zülpicher Wall 12, 239 > > 50674 Köln > > http://www.wessendorf.net > > mwessendorf-at-gmail-dot-com > > -- ::SammyRulez:: http://sammyprojectz.blogspot.com

