The soon to be release fpReport - a new reporting engine I was commissioned to develop for FPC - can do what you need with ease. It can report from TDataset or custom user-data. The standard reporting features like headers, footers, alternate layouting between start/end page and the rest are all supported. The fpReport engine is totally non-GUI (unlike any other Object Pascal reporting engine we could find), and so is fpPDF (already released to FPC Trunk). fpReport also has exporters to PDF, PNG, any other image format, LCL Canvas (optional), fpGUI Canvas (optional) and HTML. So if you can hold off for a couple more weeks until fpReport gets released, you will have a easy solution to your problem.