Short question: Is there a good library for generating HTML-style tables with the equivalent of colspans, automatically sized columns, etc. that can render directly to PDF?
Longer question: I'm re-doing a big chunk of locally-written code. I have a report-generating function that takes a list of lists of lists as input and returns either a PDF, an HTML table, or an Excel spreadsheet as requested. For example, input might look like: makereport('html', headers=['Invoice number', 'Customer', 'Price'], data=[ [['123', 'John Doe', '$50.00'], ['Ordered on 2008-01-01 via the website']], [['124', 'Peter Bilt', '$25.99'], ['Mail via African swallow']] ]) This would result in HTML like: <table> <tr> <th>Invoice number</th> <th>Customer</th> <th>Price</th> </tr> <tr class="lightbackground"> <td>123</td> <td>John Doe</td> <td>$50.00</td> </tr> <tr class="lightbackground"> <td colspan="3">Ordered on 2008-01-01 via the website</td> </tr> <tr class="darkerbackground"> <td>124</td> <td>Peter Bilt</td> <td>$25.99</td> </tr> <tr class="darkerbackground"> <td colspan="3">Mail via African swallow</td> </tr> </table> Note particularly how the explanatory notes for each invoice are similar in appearance to the "primary" report lines they're associated with. Now, I have a similar transformation to PDF via pdflatex. This works fairly well but requires a bunch of temp files and subprocesses, and I've never been 100% happy with the LaTeX output (you have to calculate your own column widths, for instance). Since I plan to re-write this anyway, I'd like to find a more widely used library if one was available. ReportLab seemed *almost* perfect, except that it doesn't support colspans. As I hope I demonstrated in the example, most of our reports depend on that ability. So, again, any thoughts on a PDF generator that can generate tables with the same kind of flexibility as HTML? -- Kirk Strauser -- http://mail.python.org/mailman/listinfo/python-list