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

Reply via email to