Depending on your use case, you can also call a JavaScript Action from a nanoflow, something that looks like this:
if (document.getElementsByClassName("widget-charts-loading-indicator").length > 0) {
mx.ui.info("Please wait a moment until all the charts have loaded", false);
}
else {
window.print();
}
User can then select the default ‘Print to PDF’ option to save the page to PDF.