You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Mike Brodbelt <m....@acu.ac.uk> on 2004/03/12 16:17:22 UTC
Print on demand using FOP
Hi,
We're using FOP to generate print-ready pages directly from information
held in a database. We're essentially hold directory type information in
the database, and we periodically print a new edition of the directory.
During the editing process, we have a dataflow set up so that an end
user goes to an internal webpage, and submits a form. That form calls
some Perl code, which sucks data out of a database, and formats it as
XML using XML::Writer. That XML is then fed into FOP, along with a
pre-defined stylesheet, and the Perl code then returns that generated
PDF data to the browser. The whole experience is seamless to the user,
and allows previewing of pages direct from the database. The user can
then correct/update information in the database, and regenerate the
output page at will.
When we're ready, we freeze the database, download the whole dataset,
and generate a PDF that's ready for final printing.
One of the big problems we have with this setup is the lack of widow and
orphan control in FOP. It's vital to us that we can control where column
and page breaks fall, and we are currently only able to do this by doing
ugly temporary hacks on the stylesheet, or post FOP fixups on the PDF
file in Adobe Acrobat. Each time we want a final press ready PDF we have
to redo these hacks, as they're data specific.
How do other people deal with this? Is there any way to exercise control
over the positioning of pacge breaks without needing widow/orphan
support? Any work rounds possible. Failing that (stupid question alert),
any idea when a version of FOP that supports this might make an appearance?
TIA,
Mike.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by Chris Bowditch <bo...@hotmail.com>.
Chris Bowditch wrote:
> Mike Brodbelt wrote:
>
> <snip/>
>
>> How do other people deal with this? Is there any way to exercise control
>> over the positioning of pacge breaks without needing widow/orphan
>> support? Any work rounds possible. Failing that (stupid question alert),
>> any idea when a version of FOP that supports this might make an
>> appearance?
Oh I forgot to mention that there is in fact limited support for keep-*
properties in FOP 0.20.5. keep-* properties have been implemented on
table-rows. So by placing your fo:blocks and other constructs into a
table-row within a single-column table you can get prevent page break
occuring mid-paragraph.
This is fine for simple scenarios, but where the document is already
very complicated, placing everything into an outer table is not always
feasible.
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using
FOP)
Posted by Mike Brodbelt <m....@acu.ac.uk>.
Chris Bowditch wrote:
> Mike Brodbelt wrote:
>
> <snip/>
>
>>Yes please :-). One problem at the moment is that the website (which is
>>excellent, on the whole) has no reference to a development timeline, and
>>a new user will notice that the last release was 9 months ago, and
>>wonders what's happening. Admittedly, a bit of additional searching will
>>take them to the mailing list archives, but one has to do a lot of
>>reading to build up a picture of the current state of play.
>
>
> Timelines are a concept that dont fit with the open source development
> model. In the commercial world, employees can be allocated work and
> expected to complete it within a time frame. In open source, there are
> no "employees", so work is completed in an adhoc fashion.
Yes, I've been around OSS stuff for long enough to know that asking for
timelines is usually futile :-). But one can always hope....
Mike.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using
FOP)
Posted by Chris Bowditch <bo...@hotmail.com>.
Clay Leeds wrote:
> Sounds good. But are you aware there's a ToDo page accessible at the
> bottom of the links on the HOME tab?
>
> http://xml.apache.org/fop/todo.html
>
> I kept looking in that page for your updates and couldn't find them
> (which is why I was so concerned you were adding a new file :-)).
> Anyway, I think this is one of the things Victor was trying to fix...
> disorganization of content.
It would be good if we could rationalise the website content a bit. Its
not immediately obvious what line of development the Todo page you
reference applies to. Upon reading the detail, it appears to be a mix of
maintenance and redesign items!
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using FOP)
Posted by Clay Leeds <cl...@medata.com>.
On Mar 18, 2004, at 1:16 AM, Chris Bowditch wrote:
> Clay - no, i didnt add a new file, I just updated the layout.xml, so
> it now has a table of todo items. Yes, I realise that the doc
> generation process is driven from the site.xml. I'm really pleased you
> are getting into forrest, as I dont want to get to into the internals,
> I would rather spend time on the code.
>
> Chris
Sounds good. But are you aware there's a ToDo page accessible at the
bottom of the links on the HOME tab?
http://xml.apache.org/fop/todo.html
I kept looking in that page for your updates and couldn't find them
(which is why I was so concerned you were adding a new file :-)).
Anyway, I think this is one of the things Victor was trying to fix...
disorganization of content.
Web Maestro Clay
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using
FOP)
Posted by Chris Bowditch <bo...@hotmail.com>.
Clay Leeds wrote:
>> I'll guess Ill wait a few days to see if the updates I made do appear
>> automatically. If not, then I will need that password. Ill e-mail you
>> offlist, if I need it. Thanks,
>>
>> Chris
>
>
> BTW, I want to confirm you (and everyone else) are aware that new
> files/pages added to the FOP web site (i.e., anything we want linked)
> must coincide with a similar modification to site.xml (used to be the
> 'book.xml' located in each sub-dir, but is being deprecated in favor of
> a global site.xml file). I say this, because judging by the language
> above and in the previous msg, it appears you are adding a new file
> (thereby meeting the definition of requiring a change to site.xml). If I
> continue to be wrong about this, please forgive! :-)
Clay - no, i didnt add a new file, I just updated the layout.xml, so it
now has a table of todo items. Yes, I realise that the doc generation
process is driven from the site.xml. I'm really pleased you are getting
into forrest, as I dont want to get to into the internals, I would
rather spend time on the code.
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using FOP)
Posted by Clay Leeds <cl...@medata.com>.
On Mar 17, 2004, at 8:23 AM, Chris Bowditch wrote:
> Clay Leeds wrote:
>
>> p.s. For completeness' sake, I guess it might help to know that the
>> information for updating the site is here:
>> http://xml.apache.org/fop/dev/doc.html#web
>
> Thanks Clay, just what I was looking for. I should have spotted that
> myself! It says quite clearly in the table that shows the flow of data
> that the "publish" step must be activated manually with the password
> that you speak of. It doesnt say that only "new" files need to go
> through the publish step and existing files dont need it.
>
> I'll guess Ill wait a few days to see if the updates I made do appear
> automatically. If not, then I will need that password. Ill e-mail you
> offlist, if I need it. Thanks,
>
> Chris
BTW, I want to confirm you (and everyone else) are aware that new
files/pages added to the FOP web site (i.e., anything we want linked)
must coincide with a similar modification to site.xml (used to be the
'book.xml' located in each sub-dir, but is being deprecated in favor of
a global site.xml file). I say this, because judging by the language
above and in the previous msg, it appears you are adding a new file
(thereby meeting the definition of requiring a change to site.xml). If
I continue to be wrong about this, please forgive! :-)
Web Maestro Clay
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using
FOP)
Posted by Chris Bowditch <bo...@hotmail.com>.
Clay Leeds wrote:
> p.s. For completeness' sake, I guess it might help to know that the
> information for updating the site is here:
>
> http://xml.apache.org/fop/dev/doc.html#web
Thanks Clay, just what I was looking for. I should have spotted that
myself! It says quite clearly in the table that shows the flow of data
that the "publish" step must be activated manually with the password
that you speak of. It doesnt say that only "new" files need to go
through the publish step and existing files dont need it.
I'll guess Ill wait a few days to see if the updates I made do appear
automatically. If not, then I will need that password. Ill e-mail you
offlist, if I need it. Thanks,
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using FOP)
Posted by Clay Leeds <cl...@medata.com>.
On Mar 17, 2004, at 6:34 AM, Chris Bowditch wrote:
> I have updated the xml docs in CVS, but I'm not sure how to tell
> forrestbot about this change. Does anyone know if forrestbot just
> picks up the changes automatically? I seem to remember Victor saying
> something about needing to do some sort of "update" before changes got
> included onto the live site.
Although I'm still getting up to speed on Forrest, I still don't
understand the forrestbot relationship yet. From my understanding of
Forrest, however, as long as you're not adding a new page, there should
be no problem. If you are adding a new page, we need to update site.xml
to include it in the navigation (proper location in the side nav &
tab). That should be it...
Web Maestro Clay
p.s. For completeness' sake, I guess it might help to know that the
information for updating the site is here:
http://xml.apache.org/fop/dev/doc.html#web
Let me or one of the list 'heavies' know if you need the login/pw (how
did I get that!?:-p).
Web Maestro Clay
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using
FOP)
Posted by Chris Bowditch <bo...@hotmail.com>.
Mike Brodbelt wrote:
<snip/>
> Yes please :-). One problem at the moment is that the website (which is
> excellent, on the whole) has no reference to a development timeline, and
> a new user will notice that the last release was 9 months ago, and
> wonders what's happening. Admittedly, a bit of additional searching will
> take them to the mailing list archives, but one has to do a lot of
> reading to build up a picture of the current state of play.
Timelines are a concept that dont fit with the open source development
model. In the commercial world, employees can be allocated work and
expected to complete it within a time frame. In open source, there are
no "employees", so work is completed in an adhoc fashion.
Anyway, Ive added the list of layout todo tasks at the bottom of the
Design/layout page. There used to be an overall status page, but Victor
broke it up and put status sections into the related sub-system page.
I have updated the xml docs in CVS, but I'm not sure how to tell
forrestbot about this change. Does anyone know if forrestbot just picks
up the changes automatically? I seem to remember Victor saying something
about needing to do some sort of "update" before changes got included
onto the live site.
>>Of course, priorities are just my opinion, but I think we need to do all
>>the highs in order to do an initial release, 0.5.0?
>
>
> Speaking only for myself here, but I'd be *very* happy to see a release
> with all the high stuff implemented. I think that it would basically fix
> all my current problems with FOP, and would probably satisfy 90%+ of
> users. Frankly, FOP 0.20.5 is pretty good, and if I could have the
> feature set that it offers with keeps, that would solve most of my problems.
I'm glad you agree.
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Development Task and Priorities (was Re: Print on demand using
FOP)
Posted by Mike Brodbelt <m....@acu.ac.uk>.
Chris Bowditch wrote:
> J.Pietschmann wrote:
>
> I love it when you rattle a list off like this. I really ought to
> capture this and put it on the website somewhere, along with a priority.
Yes please :-). One problem at the moment is that the website (which is
excellent, on the whole) has no reference to a development timeline, and
a new user will notice that the last release was 9 months ago, and
wonders what's happening. Admittedly, a bit of additional searching will
take them to the mailing list archives, but one has to do a lot of
reading to build up a picture of the current state of play.
> Of course, priorities are just my opinion, but I think we need to do all
> the highs in order to do an initial release, 0.5.0?
Speaking only for myself here, but I'd be *very* happy to see a release
with all the high stuff implemented. I think that it would basically fix
all my current problems with FOP, and would probably satisfy 90%+ of
users. Frankly, FOP 0.20.5 is pretty good, and if I could have the
feature set that it offers with keeps, that would solve most of my problems.
My 2p worth,
Mike.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Development Task and Priorities (was Re: Print on demand using FOP)
Posted by Chris Bowditch <bo...@hotmail.com>.
J.Pietschmann wrote:
I love it when you rattle a list off like this. I really ought to
capture this and put it on the website somewhere, along with a priority.
> There are a few things to do, though, including, but not
> limited to:
> - Justified text (killer!)
High
> - Multi-column layout
High
> - Footnotes
Medium
> - Positioned blocks, both absolute and relative
High for absolute, Medium for relative
> - Keeps
High
> - Floats of all kind
Low
> - Collapsed borders
Low (even RenderX doesnt have this)
> - Fine-tuning all other borders
Low (or this)
> - Background images
High
> - Fine-tuning line breaking and hyphenation
Medium
> - Conditional space suppression
High
> - Last page layout
Medium
> - Reparenting retrieved markers
High
> - BIDI
Low
> - Aligned leaders, especially in justified text
Medium
> - Basically all non-PDF renderers
High for Postscript, all others are Low
> Most of these are "must haves" for XSLFO compliance.
Of course, priorities are just my opinion, but I think we need to do all
the highs in order to do an initial release, 0.5.0?
>
> More improvements on the list (way down...)
> - Metadata extensions
> - Print control extensions
> - OMR extensions
> - Outline/bookmark control extensions
> - Image retrival and cache control extensions
> - User selectable line breaking strategy
> - Fine-tuning vertical block justification, especially in
> multi column layouts
> - TeX style, grey value controlled block filling
>
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by Mike Brodbelt <m....@acu.ac.uk>.
J.Pietschmann wrote:
> Most of the skeleton features are in place, there are even some
> features more completely implemented than in 0.20.5 (specifically
> inline areas, horizontal alignment within lines, PDF encryption,
> various SVG improvements)
>
> There are a few things to do, though, including, but not
> limited to:
<snip>
Thanks very much for posting that. We clearly couldn't use it yet, as we
need some non-implemented features (mutil-column layout and
abolute/relative positioning in particular), but it's encouraging to
hear that most of the framework is done, and hopefully it's just a
matter of time before it exceeds the feature list of 0.20.5.
Mike.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by "J.Pietschmann" <j3...@yahoo.de>.
Mike Brodbelt wrote:
> My java skills are virtually non-existent, I'm afraid :-). Is there any
> kind of road-map/status information up for the FOP dev branch, or is it
> just a question of checking out the CVS and trying it out?
Most of the skeleton features are in place, there are even some
features more completely implemented than in 0.20.5 (specifically
inline areas, horizontal alignment within lines, PDF encryption,
various SVG improvements)
There are a few things to do, though, including, but not
limited to:
- Justified text (killer!)
- Multi-column layout
- Footnotes
- Positioned blocks, both absolute and relative
- Keeps
- Floats of all kind
- Collapsed borders
- Fine-tuning all other borders
- Background images
- Fine-tuning line breaking and hyphenation
- Conditional space suppression
- Last page layout
- Reparenting retrieved markers
- BIDI
- Aligned leaders, especially in justified text
- Basically all non-PDF renderers
Most of these are "must haves" for XSLFO compliance.
More improvements on the list (way down...)
- Metadata extensions
- Print control extensions
- OMR extensions
- Outline/bookmark control extensions
- Image retrival and cache control extensions
- User selectable line breaking strategy
- Fine-tuning vertical block justification, especially in
multi column layouts
- TeX style, grey value controlled block filling
Have fun!
J.Pietschmann
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by Mike Brodbelt <m....@acu.ac.uk>.
Chris Bowditch wrote:
> Mike Brodbelt wrote:
>
> <snip/>
>
>>My java skills are virtually non-existent, I'm afraid :-). Is there any
>>kind of road-map/status information up for the FOP dev branch, or is it
>>just a question of checking out the CVS and trying it out? I've had a
>>good look round the website, but information as to what's happening
>>seems absent.
>
>
> Just checking out CVS and giving it a go is the only way to determine
> its current status I'm afraid.
>
>
>>>In terms of how I deal with this issue today. I'm ashamed to say this on
>>>list, but we use RenderX's XEP when keep-* properties are required.
>>
>>
>>Ah - I feared that might be the answer.
>
>
> Did you see my second post on this? I forgot to say that FOP does have
> limited support for keep-* properties. They are only implemented on
> table-rows. So if you can put all your blocks into a table row then you
> can prevent page breaks occuring mid paragraph.
Yes - we'd come across this, but the documents we're trying to produce
are too complex to just jam in an outer table as a work round. We
considered trying it, but we're currently working round it by putting
content specific hacks in the XSLT to force breaks in certain places,
which is easier that trying to force table layout around the whole
document.
On the small (40 page) document we're playing with, this works, but it
certainly won't scale up to the sort of thing I'd like to be able to
consider. One job we run from XML at the moment runs to about 2500 pages
of A4. That's currently dealth with externally - we just supply the XML
to a printer, who typesets, prints, binds and packages the job. I'd like
to be able to generate subsets of that document on demand, but lack of
page control is effectively a showstopper for that sort of thing. FOP is
wonderful for in-house output, so people can see on demand what the
state of the the database is, but we're trying to do final typesetting
on some of our smaller jobs in house, which is where the lack of this
sort of page control is letting us down.
Mike.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by Chris Bowditch <bo...@hotmail.com>.
Mike Brodbelt wrote:
<snip/>
> My java skills are virtually non-existent, I'm afraid :-). Is there any
> kind of road-map/status information up for the FOP dev branch, or is it
> just a question of checking out the CVS and trying it out? I've had a
> good look round the website, but information as to what's happening
> seems absent.
Just checking out CVS and giving it a go is the only way to determine
its current status I'm afraid.
>>In terms of how I deal with this issue today. I'm ashamed to say this on
>>list, but we use RenderX's XEP when keep-* properties are required.
>
>
> Ah - I feared that might be the answer.
Did you see my second post on this? I forgot to say that FOP does have
limited support for keep-* properties. They are only implemented on
table-rows. So if you can put all your blocks into a table row then you
can prevent page breaks occuring mid paragraph.
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by Mike Brodbelt <m....@acu.ac.uk>.
Chris Bowditch wrote:
> Mike Brodbelt wrote:
>
>>How do other people deal with this? Is there any way to exercise control
>>over the positioning of page breaks without needing widow/orphan
>>support? Any work rounds possible. Failing that (stupid question alert),
>>any idea when a version of FOP that supports this might make an appearance?
>
> The trouble with the current version of FOP 0.20.5 is that the code is
> written in such a way that it makes adding support for keep-* properties
> too difficult. This is the main reason for the redesign effort. FOP has
> been re-written with keep-* properties in mind. However, progress on the
> redesign is slow. Its such a big job and the FOP team is low on
> resource. Help is always welcome though ....
My java skills are virtually non-existent, I'm afraid :-). Is there any
kind of road-map/status information up for the FOP dev branch, or is it
just a question of checking out the CVS and trying it out? I've had a
good look round the website, but information as to what's happening
seems absent.
> In terms of how I deal with this issue today. I'm ashamed to say this on
> list, but we use RenderX's XEP when keep-* properties are required.
Ah - I feared that might be the answer.
Thanks,
Mike.
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org
Re: Print on demand using FOP
Posted by Chris Bowditch <bo...@hotmail.com>.
Mike Brodbelt wrote:
<snip/>
> How do other people deal with this? Is there any way to exercise control
> over the positioning of pacge breaks without needing widow/orphan
> support? Any work rounds possible. Failing that (stupid question alert),
> any idea when a version of FOP that supports this might make an appearance?
The trouble with the current version of FOP 0.20.5 is that the code is
written in such a way that it makes adding support for keep-* properties
too difficult. This is the main reason for the redesign effort. FOP has
been re-written with keep-* properties in mind. However, progress on the
redesign is slow. Its such a big job and the FOP team is low on
resource. Help is always welcome though ....
In terms of how I deal with this issue today. I'm ashamed to say this on
list, but we use RenderX's XEP when keep-* properties are required.
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-user-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-user-help@xml.apache.org