I'm torn between jasperreports & birt. Both look better than iText I'm using. Well, it would be good to have a GUI creator.
http://www.lowagie.com/iText/ -----Original Message----- From: Hansjörg Meuschel [mailto:[EMAIL PROTECTED] Sent: 17 January 2006 09:57 To: MyFaces Discussion Subject: Re: easiest way to get a jsf page as pdf download I'm just looking ... and getting convinced :-) Simon Kitching wrote: >If you want to specifically generate a report, another option to look at >is jasper: > http://jasperreports.sourceforge.net/ > > >On Tue, 2006-01-17 at 10:30 +0100, Hansjörg Meuschel wrote: > > >>Hi again, >>actually what I want is to generate a report from the database and not a >>pdf that looks like the html .. >>I just thought the easiest way would be to transform the gnereated html >>page directly into pdf which seems to be impossible... >>So I'll take a look at both projects and see ... >> >>Thanks for your help again! >> >>Regards, >>Hans >> >> >>Simon Kitching wrote: >> >> >> >>>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 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>> >>> >>> >>> >> >> > > > > -- Mit freundlichen Grüßen, ------------------------------ Hansjörg Meuschel Martin-Treu-Str. 40 90403 Nürnberg Tel. +49 (0)911 274 278 1 mobil: +49 (1)60 725 3479 mail: [EMAIL PROTECTED] http://www.meuschel.net

