Add logic to generate a PDF from an arbitrary set of objects