Based on what I've been reading here in the FOP discussion, I will humbly suggest creating the 150,000 page print document in plain PostScript. Many print devices can read it, and they do so in a linear fashion. That is only one page is kept in memory at a time. Creating Postscript is a linear process in plain text.
Yes, using FOP or PDFBox you have to store all pages in memory, before writing out the PDF file. A number of PDF "readers" have to process the entire file, which can be a problem (some readers process only a page at a time...) Just a suggestion.