When reports need to be triggered and not scheduled, the only option is to use the system.report.executeAndDistribute script. This script does not allow multiple actions to be executed after the report generation. Currently, one must generate the same report multiple times in order to both save and print for example. One possible solution would be to allow a list of actions instead of a single action, similar to how each report schedule can execute multiple actions after a single report generation.