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 > >>> > >>> > >>> > >>> > > > > > > > > > >

