There seems to be some terminology confusion here – maybe you mean “topic” where you wrote “post”, @nadia and @owen?
Namely, when you append
?_escaped_fragment_ to the normal URL of a Discourse topic, you get the whole topic as one single HTML document, bypassing the normal API (example). This can be used to manually convert topics to PDF (details in our manual). But it also provides a fast way to get HTML for a topic, to then convert to PDF the way Owen is doing it now.
Since this is fast, creating a single PDF document from up to approx. 10 Discourse topics would also be reasonably fast, but beyond that we’d need a more robust implementation, and time to plan and do that as @hugi says.