2 added 1075 characters in body
source | link

Initially I used the method near the bottom of this answer which was a lot of effort but did work. I have now come up with a better method.

New Method: I create whatever size pages I want in my notebook and can use this better method to get a proper printout and properly scaled pdf document. I simply create a Column (in the example below this column is called "Printable") consisting of all of the pages of my dashboard. I then create a document containing that column and then save the document as an html file with two commands combined into one:

NotebookSave[CreateDocument[{Printable}]]

Executing the above command open a SaveAs dialgo box - be sure to save the file type as html. Once I have my html file I can open it and go to print preview and use the Scale and Layout options of my browser to get what was in my notebook to fit onto as many pages as I like. I can then print to paper or print to pdf from the browser with a few clicks of a button rather than re-format my entire dashboard to fit the page margains of an A4 page within my notebook.

Browser Print Preview menu bar with Scaling and Layout options shown

Old Method: I ended up adding a ruler to my page and ensuring that everything fell inside of the A4 size margains. I then created a variable that consisted of a column of all my dashboard pages and some appropriately placed page breaks.

  PrintableVersion := Column[{IntroPage, Column[{Tab4, 
     Button[Style["Recalculate", FontSize -> 10], RecalcFunction, 
      Method -> "Queued"], PrintButton}], PageBreak, Tab2, PageBreak, 
   Tab3}]

I created a Print button using the Button function and the NotebookPrint function.

    PrintButton := Button[Style["Print", FontSize -> 10], NotebookPrint[PrintableVersion]]

All the dashboard pages printed properly when I pressed this Print button but there were a few strange formatting issues - for example each time I had used the PageBreak in the column it had printed on the printout as "PageBreak". But it is better than nothing.

I ended up adding a ruler to my page and ensuring that everything fell inside of the A4 size margains. I then created a variable that consisted of a column of all my dashboard pages and some appropriately placed page breaks.

  PrintableVersion := Column[{IntroPage, Column[{Tab4, 
     Button[Style["Recalculate", FontSize -> 10], RecalcFunction, 
      Method -> "Queued"], PrintButton}], PageBreak, Tab2, PageBreak, 
   Tab3}]

I created a Print button using the Button function and the NotebookPrint function.

    PrintButton := Button[Style["Print", FontSize -> 10], NotebookPrint[PrintableVersion]]

All the dashboard pages printed properly when I pressed this Print button but there were a few strange formatting issues - for example each time I had used the PageBreak in the column it had printed on the printout as "PageBreak". But it is better than nothing.

Initially I used the method near the bottom of this answer which was a lot of effort but did work. I have now come up with a better method.

New Method: I create whatever size pages I want in my notebook and can use this better method to get a proper printout and properly scaled pdf document. I simply create a Column (in the example below this column is called "Printable") consisting of all of the pages of my dashboard. I then create a document containing that column and then save the document as an html file with two commands combined into one:

NotebookSave[CreateDocument[{Printable}]]

Executing the above command open a SaveAs dialgo box - be sure to save the file type as html. Once I have my html file I can open it and go to print preview and use the Scale and Layout options of my browser to get what was in my notebook to fit onto as many pages as I like. I can then print to paper or print to pdf from the browser with a few clicks of a button rather than re-format my entire dashboard to fit the page margains of an A4 page within my notebook.

Browser Print Preview menu bar with Scaling and Layout options shown

Old Method: I ended up adding a ruler to my page and ensuring that everything fell inside of the A4 size margains. I then created a variable that consisted of a column of all my dashboard pages and some appropriately placed page breaks.

  PrintableVersion := Column[{IntroPage, Column[{Tab4, 
     Button[Style["Recalculate", FontSize -> 10], RecalcFunction, 
      Method -> "Queued"], PrintButton}], PageBreak, Tab2, PageBreak, 
   Tab3}]

I created a Print button using the Button function and the NotebookPrint function.

    PrintButton := Button[Style["Print", FontSize -> 10], NotebookPrint[PrintableVersion]]

All the dashboard pages printed properly when I pressed this Print button but there were a few strange formatting issues - for example each time I had used the PageBreak in the column it had printed on the printout as "PageBreak". But it is better than nothing.

1
source | link

I ended up adding a ruler to my page and ensuring that everything fell inside of the A4 size margains. I then created a variable that consisted of a column of all my dashboard pages and some appropriately placed page breaks.

  PrintableVersion := Column[{IntroPage, Column[{Tab4, 
     Button[Style["Recalculate", FontSize -> 10], RecalcFunction, 
      Method -> "Queued"], PrintButton}], PageBreak, Tab2, PageBreak, 
   Tab3}]

I created a Print button using the Button function and the NotebookPrint function.

    PrintButton := Button[Style["Print", FontSize -> 10], NotebookPrint[PrintableVersion]]

All the dashboard pages printed properly when I pressed this Print button but there were a few strange formatting issues - for example each time I had used the PageBreak in the column it had printed on the printout as "PageBreak". But it is better than nothing.