O'Reilly logo

Python Programming On Win32 by Mark Hammond, Andy Robinson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required