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

Reply via email to