A multi-page invoice table
An invoice table, laid out across as many pages as its lines need.
Rows that size their own columns, break their own pages and carry their heading onto the next one.
The table is the part of a document that changes most: four lines this month, forty the next. You describe the rows, and the software settles the rest — how wide each column has to be, where the table has to break, and what has to be repeated at the top of the page that follows.
Every cell can carry its own space around the text, its own border, its own background, a picture, or several rows joined into one. A cell whose text is too wide is dealt with the way you asked for, not the way the page happened to fall.
Every one of these is a real PDF this library wrote, with the source that wrote it.
An invoice table, laid out across as many pages as its lines need.
What a cell can do with its own box: the margin, the border, the space inside, the background.
A cell's four sides in four different colours, and coloured fills told apart from coloured borders.
A long table handed over whole, deciding for itself where the pages break: its heading on top of every page, its footnote under every page, its grey grounds stated once for the whole table, and a note you draw under each page at the exact place the table reports.
A specification sheet whose cells are merged down the rows: each group named once beside all of its rows, with one note beside them; the thin lines stop at those cells' edges, and a note too long for the rows it covers makes them grow.
One parts list twice: four columns sharing the width equally, then the reference, the quantity and the price each as wide as their own widest cell and the description given everything they leave.
A catalogue whose first column is a picture rather than text: four pictures of very different sizes and proportions, each fitted whole and undistorted into the cell the table gives it and standing against a different corner of it, claiming no width from its column and no height from its row.
Overlong text in a narrow table cell: left to overflow the column, or cut to it.