You can try using a print stylesheet and and setting the table and iframe to break-inside:avoid.
e.g.
table,iframe {
break-inside: avoid;
}
Unfortunately nothing is guaranteed where printing is concerned and mileage will vary between, browser, os and printer.