I have a strong sense of déja vu about this, but we could potentially use GSP templates for these reports.