shrije Wrote: You mention that you need an arbritatry number of subreports. How do you decide the no of subreports ? My company requires a reporting tool that is very simple to use. Every setting that can will have a default. The page size will default to the letter page size (for easy printing) when selecting PDF, or will default to ignorePaginationWhen when selecting html. A user will be able to add Report Components through a simple add method: report = new Report ("output.pdf"); report.addImage("image.jpeg"); report.addTable("file.csv"); report.addTable("file2.csv"); report.generate(); The report components will be position one beneth the other. As you can see, the number of tables in a report can vary according to the user's selection (each table is a sub report). Most of this is implemented already and working correctly, but when a table is added, it overlaps with whatever comes after. When using other report componets that grow in size (like crosstabs), the setPositionType Float works fine.