You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@turbine.apache.org by Alexander Zimmer <al...@unycom.com> on 2008/01/18 10:43:42 UTC
Using Turbine's tools for assembling PDF output (using FOP): how
to?
Hello list,
I am trying to extend an existing Turbine application by a "Download"
link which should result in a PDF file being served, containing the same
data as in the screen template counterpart.
Take a video database for instance, I can browse through the video
titles and have a look at specific videos by looking at their
"Details.vm" screen template which would output detail information.
Alternatively, I would like to offer a "Download as PDf" link which
should resemble the screen output, but was assembled via FOP, presenting
the video details as a sort of "video data sheet".
With regards to the PDF generation, I am presented with the same
problems as in the course of the template screen generation:
- using the l10n mechanism
- possibly using other pull tools
Therefore it would be very reasonable to use these template services in
a page which does NOT output to the HTTPServlet-request-OutputStream,
but instead is able to
- set a MIME-Type
- gather the output of the template (in which I can use the
beloved set of pull tools, e.g. for internationalization), which
delivers a FO String
- pipe the generated FO String (or Stream) through a FO->PDF
converter
- stream the PDF byte stream into the servlet output
How can I achieve this in Turbine? The FO->PDF conversion poses no
problem (in fact: is already working), but how can I tell Turbine to use
the template mechanism with all pull tools but capturing the output in
order to send it into the FO->PDF converter and stream it back?
I suppose, this has to be a special Page class capable of doing this.
Could you point me in the right direction?
TIA,
Alex
Re: Using Turbine's tools for assembling PDF output (using FOP):
how to?
Posted by Peter Courcoux <pe...@courcoux.biz>.
Hi,Alexander,
see http://wiki.apache.org/turbine/Turbine2/VelocityOnlyLayout
Regards,
Peter
Alexander Zimmer wrote:
> Hello list,
>
>
>
> I am trying to extend an existing Turbine application by a "Download"
> link which should result in a PDF file being served, containing the same
> data as in the screen template counterpart.
>
>
>
> Take a video database for instance, I can browse through the video
> titles and have a look at specific videos by looking at their
> "Details.vm" screen template which would output detail information.
> Alternatively, I would like to offer a "Download as PDf" link which
> should resemble the screen output, but was assembled via FOP, presenting
> the video details as a sort of "video data sheet".
>
>
>
> With regards to the PDF generation, I am presented with the same
> problems as in the course of the template screen generation:
>
> - using the l10n mechanism
>
> - possibly using other pull tools
>
>
>
> Therefore it would be very reasonable to use these template services in
> a page which does NOT output to the HTTPServlet-request-OutputStream,
> but instead is able to
>
> - set a MIME-Type
>
> - gather the output of the template (in which I can use the
> beloved set of pull tools, e.g. for internationalization), which
> delivers a FO String
>
> - pipe the generated FO String (or Stream) through a FO->PDF
> converter
>
> - stream the PDF byte stream into the servlet output
>
>
>
> How can I achieve this in Turbine? The FO->PDF conversion poses no
> problem (in fact: is already working), but how can I tell Turbine to use
> the template mechanism with all pull tools but capturing the output in
> order to send it into the FO->PDF converter and stream it back?
>
>
>
> I suppose, this has to be a special Page class capable of doing this.
> Could you point me in the right direction?
>
>
>
> TIA,
>
> Alex
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@turbine.apache.org
For additional commands, e-mail: user-help@turbine.apache.org
RE: Using Turbine's tools for assembling PDF output (using FOP): how to?
Posted by Tony Oslund <To...@prepare-enrich.com>.
You might also want to look at a few products, pd4ml, and htmldoc, for
performing html to pdf generation. Pd4ml is very nice in that it allows
for easy multi-language capabilities (easy font embedding), and it is
entirely written in java.
I noticed that you are already using FO (FOP or something like it).
Personally I have found that my report development cycle is much shorter
using html to pdf rather than xsl/fo.
Anyways, I have been doing the following to send pdf content
byte[] pageContent = null;
... populate pageContent with something
ServletOutputStream outputStream = null;
try {
HttpServletResponse response = data.getResponse();
outputStream = response.getOutputStream();
response.setContentType("application/pdf");
response.setHeader("Content-disposition","filename=" + pageId +
".pdf");
response.setIntHeader("Content-length", pageContent.length);
outputStream.write(pageContent, 0, pageContent.length);
outputStream.flush();
}
catch (java.io.IOException ex) {}
finally {
if (outputStream != null) {
try {
outputStream.close();
}
catch (Exception e) {}
}
}
-----Original Message-----
From: Alexander Zimmer [mailto:alexander.zimmer@unycom.com]
Sent: Friday, January 18, 2008 3:44 AM
To: Turbine Users List
Subject: Using Turbine's tools for assembling PDF output (using FOP):
how to?
Hello list,
I am trying to extend an existing Turbine application by a "Download"
link which should result in a PDF file being served, containing the same
data as in the screen template counterpart.
Take a video database for instance, I can browse through the video
titles and have a look at specific videos by looking at their
"Details.vm" screen template which would output detail information.
Alternatively, I would like to offer a "Download as PDf" link which
should resemble the screen output, but was assembled via FOP, presenting
the video details as a sort of "video data sheet".
With regards to the PDF generation, I am presented with the same
problems as in the course of the template screen generation:
- using the l10n mechanism
- possibly using other pull tools
Therefore it would be very reasonable to use these template services in
a page which does NOT output to the HTTPServlet-request-OutputStream,
but instead is able to
- set a MIME-Type
- gather the output of the template (in which I can use the
beloved set of pull tools, e.g. for internationalization), which
delivers a FO String
- pipe the generated FO String (or Stream) through a FO->PDF
converter
- stream the PDF byte stream into the servlet output
How can I achieve this in Turbine? The FO->PDF conversion poses no
problem (in fact: is already working), but how can I tell Turbine to use
the template mechanism with all pull tools but capturing the output in
order to send it into the FO->PDF converter and stream it back?
I suppose, this has to be a special Page class capable of doing this.
Could you point me in the right direction?
TIA,
Alex
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@turbine.apache.org
For additional commands, e-mail: user-help@turbine.apache.org