Unfortunately, this task cannot be solved - the very fact that the file must be printed on paper means that paper will be wasted. A complete transition to paperless electronic document management can provide real paper savings, but this will not happen today or tomorrow.
The program for redistributing blocks can slightly reduce the amount of manual work on cutting printouts and the consumption of glue, but it will not save paper. Just for example. A file with 150 cases can be printed on 150 sheets, one case per sheet. This will completely eliminate manual work, but will lead to paper waste. If you manage to redistribute the blocks so that each sheet has exactly two cases and one cutting line between them, this will lead to the consumption of 75 sheets of paper and the need to use scissors 75 times. If you leave the file “as is”, all the cases one after another, then it can be printed, for example, on 70 sheets and make 90 cuts and another 20 gluing.
All these numbers are approximate, just to illustrate this idea:
You once said that this file is generated programmatically, you receive it for work already in this form. Perhaps it makes sense to contact the developers of that program so that they change their code and generate the file immediately in the form you need?