[Top] [All Lists]

Re: [xsl] Converting XML into ODT document to print as paper

2020-09-24 07:02:46
HTML + CSS print is usually a good-enough solution. You may have a look to https://github.com/flyingsaucerproject/flyingsaucer or to one of its fork.

I actually work on a maven-plugin that transform markdown to our exercise-book odt format, with quite a good result. But it's a very specific layout, and for now, is not open-source.

Flyingsaucer is probably your solution, as it is already ready-to-use.


Le 24/09/2020 à 10:24, Jean-Paul Rehr rehrjb(_at_)gmail(_dot_)com a écrit :
>ready-made solution?

Ready-made solutions usually are domain/standard specific (like TEI-XML for book editions, etc). But even those usually require certain code-level interventions to work.

Your data + layout are quite simple and are a good candidate for XSL-FO <https://en.wikipedia.org/wiki/XSL_Formatting_Objects>:  purpose-made to handle XML -> PDF outputs.

Alternately, transform your source XML data into Open Office-compliant XML...

On Thu, Sep 24, 2020 at 9:57 AM Manuel Souto Pico terminolator(_at_)gmail(_dot_)com <mailto:terminolator(_at_)gmail(_dot_)com> <xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com <mailto:xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com>> wrote:

    Dear all,

    I would need to convert XML to something that has a fixed page
    layout ready to print, like ODT/OOXML or PDF.

    I know OOXML is complex, but since the final document needs to be
    printed and keep the same layout, probably HTML output is not good
    for this (I guess!).

    What I need at the moment is just a quick and dirty proof of
    concept to show that this conversion is feasible and not too
    difficult, to show it to decision makers (I'm not a XSLT developer

    This is my input (sample):

    And this would be my output:

    My first thought was to unzip the ODT model I have, look at the
    content.xml inside and then try to transform my XML into that same
    structure (as suggested here:

    However, probably that's the hard way...

    I'm doing some research, any tips or pointers or advice or
    recommendation or examples here would be highly appreciated. Is
    there any best practice to do this? or a ready-made solution?

    Thanks in advance.

    Cheers, Manuel
    XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
    <http://lists.mulberrytech.com/unsub/xsl-list/3377836> (by email)

XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/2837134> (by email <>)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
<Prev in Thread] Current Thread [Next in Thread>