Different Document Models
There are several different document models you might wish to support. They all end up as ink on paper, but suggest different APIs and tools for the people writing the reports:
- Graphics programming model
The report designer writes programs to precisely position every element on the page.
- Word-processor model
Elements flow down the page and onto the next. There may be some sort of header and footer that can change from section to section. Tables need to be broken intelligently, with repeating page headers and footers.
- Spreadsheet model
A grid underlies the page, and this can produce sophisticated table effects. However, it starts to cause problems if you want more than one table on a page with different column structures.
- Database form model
The same form is repeated many times with varying data, possibly covering an invoice run, a mailmerge, or bank statements for customers. Forms can exceed one page and include master-detail records and group headers and footers.
- Desktop-publishing model
This is the most sophisticated document model in common use: the user specifies certain page templates and may have many pages of a given template. Within pages, there are frames within which objects can flow, and frames can be linked to successors.
You need to keep your options open; don’t expect all these to be provided, but look for technologies that can be adapted to a different model for a different project.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access