I've submitted a talk for YAPC (waiting for approval...) on generating reports from XML data in Perl for a variety of output formats (Excel, HTML, plaintext, PDF, etc...). Haven't considered a *graphics* format, but it wouldn't be hard.
Laying out an human aesthetically pleasing report is not a trivial exercise as I found out. Once you factor in group, break, sort, total and everything else it's nightmarish.
The architecture I've got is fairly intelligent and felxible, and so far has held up to months of pounding by a lot of customers and support people. It's pluggable so that new output formats are a snap to add, and the kind of data you feed it is unimportant -- we can run system reports or invoices through the exact same code.
Bad news: the code is not open-source. The company paid a lot of money for it, and won't let the code out. It's a competative advantage right now for them not to release it. Good news: I'm allowed to discuss the architecture and design as much as I want as long as I don't give the code away.
If you're interested I can give some details or an overview of how things are done. Of course, I'm not going to put a ton of work into documenting it until YAPC approves the talk. :)
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||