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:
The report designer writes programs to precisely position every element on the page.
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.
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.
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.
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.