@ cfuttrup You can design a multipage app, whose individual page are all put in a container in your main container, each on being in a div whose width is 297mm and height 209.8mm. There are a few tricks to keep in mind here; if you set up the layout with a 210 mm height, then when you print there will be an offset of 0.1-0.2mm on your output page. Long story short, if you put 210 mm, you will print 2 pages when you see one, 3 pages when you see 2, etc.
It is a point that is frequently mentioned everywhere on the internet. It seems that browser add something somewhere, but it’s unclear what.
On my side I do “powerpoint like” dashboards, so, it works great. At some point in the future I will share the base app. I just need to simplify it before doing it. One more advice: start with an empty page, and then add the div inside and around, the one after the other, and check at every step that a CTRL + P does print what you expect. Use minimal CSS, start with nothing. It will make your life much easier. Use the @page css rule, put your margin at 0, minimize the number of unnecessary rules, an you shoulld be able to make it quite quickly.
On my side in CSS I have something like this:
@page {
size: A4 landscape;
margin: 0;
padding:0;
}
@media print {
html, body {
width: 297mm;
height: 209.8mm;
}
.wrapper-navbar-and-_pages_content{
display:block;
padding:0;
margin:0;
outline:none;
}
.navbar {
display:none;
}
.wrapper-of-wrapper-page-and-toolbar{
display:block;
padding:0;
margin:0;
grid-row-gap:0mm;
outline:none;
border:none;
}
.wrapper-page-and-toolbar{
grid-template-columns: 297mm;
background-color:white;
margin:0;
padding:0;
outline:none;
}
.page {
margin: 0;
padding-top: 0mm;
padding-bottom: 0mm;
padding-left: 13.5mm;
padding-right: 13.5mm;
/*border: initial;*/
border:0;
/*border-radius: initial;*/
/*width: initial;*/
width:297mm;
min-height: initial;
height: 209.8mm;
box-shadow: initial;
background: initial;
page-break-before: always;
outline:none;
}
.toolbar {
display:none;
}
.dash-debug-menu {
display:none;
}
.dash-debug-menu__outer.dash-debug-menu__outer--closed{
display:none;
}
.dash-debug-menu.dash-debug-menu--closed {
display:none;
}
#table .previous-next-container {
display:none;
}
}
But you will have to adapt this to your own layout of course.
Then, the way you navigate from section to section, or from chapter to chapter, is up to you. You can use tabs, or you can use a sidebar with a menu. Sidebars that will disappear when you print, because hidden.