Gutenberg
Modern framework to print the web correctly
...Gutenberg provides two ways to break a page, the class page-break-before will to break before and page-break-after to break after. To avoid the page to break "inside" an element, you can use the avoid-break-inside class. If you do not want to reformat the links, acronym or abbreviation to show the full url or title, you can use the class no-reformat. Simply include the right stylesheet(s) in your html and load it only for a printer. Gutenberg.css is the base stylesheet but there are themes available in the themes folder. To hide elements to be printed you can simply add the class no-print.