Actually I've just noticed. Birt uses 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

Reply via email to