Hi Gary,
If you cut the HTML document into smaller chunks (for example have each paragraph start a new chunk) and output each of these as a separate HTMLBox then it will appear as one document and a page break will appear whenever a chunk as a whole doesn't fit the page anymore. The potential whitespace at the bottom of a page will be smaller if the chunks are smaller. If the document data is stored in a 4GL variable (rather than using a url pointing to a file) then the splitting loop can be written in 4GL. As a start you could split at any P,BR, H1, H2,..,OL,TABLE,.. element. You can do this using the XML functions in case it is a XML document and otherwise use the string functions. Then the fragments are surrounded by "<HTML><BODY>" and shipped in a PRINT statement. If you have long tables or item lists then these may produce large gaps or the fragments may not fit on the page at all. In any case I will ask a request for enhancement to be filed for this.
Regards,
Alex