Hello
@Magma,
I cheat because it's easier to do so lol
I have two layout per printout, the main layout (page 1), and the extension of the main layout (page 2+). Not all of my page 1 layouts are the same item height in item area size. For example, one design has a remittance advice slip at the bottom, another has account balances at the bottom, some are standard like in your example above but with net and tax above the total, another layout has a voucher at the bottom that can be torn off and you can give 10%, 5%, 2% etc discounts, I have plenty of layout for invoices, quotes, a delivery note with a space for a signature, picking list and only a couple for purchase order for printing stock lists etc.
Anyway, my secret is knowing exactly how many rows can be printed on page 1 before loading the page 2+ layout to continue prining.
Yes I know, I can just design one page that does both page 1 & 2, but I personally don't want to do that, plus I'm lazy and having 2 layouts per page is quick and simple to integrate rather than writing lots of code to do the exact same thing. As long as you know exactly how many rows can be printed per document (2 to 3 less rows per document on MacOS due to the stand font), it's extremely quick and simple to integrate. On page 1 you have x amount of rows in the counter, when reached, you load page 2+, reset the counter to page 2+ (a lot more rows as page 2+ is a full page), then just continue printing. It's not that many lines of code, you can do it in your sleep.
Below are examples of screens that the information is fully printable in this particular package. @Erel did an excellent job creating B4J for developing desktop applications, especially as this package (as a .jar file not .exe) also runs flawlessly on my MacBook Pro. Printing B4J projects using Print Java FX8 by @stevel05 is a 100% must in my personal opinion. Not only is B4J Print Java FX8 extremely simple to use, but I personally always use it in B4J when printing documentation and also charts via xCharts by @klaus.
When Erel first released B4J, I was 100% sure that I would never ever use it because I have VS installed and I developed in VB.Net, C# and ASP.Net, how wrong was I. These days I can't even remember the last time I developed a simple desktop solution using VS.
Printable invoice list.
Printable invoice details.
Printable information panel.
Printable sales and purchases charts.
Printable full stock list
Printable filtered stock list
Plus much much more...
@aeric, below is one of my header layout editors for my software. Customers can drag and drop the views (image view and labels) around until they are happy with what they have. In this distinct case, the printouts that use this particular header will print like the image below. Once again B4J Print Java FX8 is used to print all my documentation and charts.
Hmm, I think I should post these images on the B4X Facebook group page, actually I will when I get a change to do so. I'll also post these images to other Facebook developer groups 
Enjoy...