The task of automatically formatting documents is always a PITA. Using LaTeX, as already suggested, is probably the cleanest way.

The only real problem in LaTeX approach is that the document templates are to be written in TeX, and it's a skill not so easy to find, particularly when you expect to have several dozens of templates to be done. Cheap. Fast. Hopefully aesthetically valid.

We are working on another approach that I hope to became, eventually, a CPAN module: a Perl object which takes an ODT file (OpenOffice document) containing a template for the document with markers to be replaced/expanded with data passed to the object in a structure (HoAoH...).

At present I have implemented conditional blocks, iterative blocks, some aggregate functions on input data, and formatted data substitution. It apparently works rather well but it is really ugly code and certainly not extensively tested.

If you are interested I can pass it to you, or make it a CUFP node but I'm really ashamed of the code as is now...

Rule One: "Do not act incautiously when confronting a little bald wrinkly smiling man."


In reply to Re: Document Printing Format by psini
in thread Document Printing Format by JayBee

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.