Print (on paper) record from gridview

I would like to let my users print on paper a message contained in their gridview with less effort possible.
Imagine my app like a mail client. In my action column i would simply like to put a “print” button (already done via the template feature).

my INBOX view lists in its gridview all the MESSAGE HEADERS (message contents are stored in another table, sharing the same “message_id” with the first)

What do I need to do? Create a view for printing in a new tab, execute js print() as soon as the page is loaded and then immediately closing the tab? It could be an issue if my client will ask me to "print all the checked mails contained in gridview?

Is sending it as PDF attachment an option? Then take a look at MPDF

it will be, but not in this case. I have a sort of INBOX folder. I must be able to view/edit/delete messages (that’s not a problem) , print end export a single message

Open new tab/Window with that loads PDF from MPDF on browser. You can try embed that as iFrame but never tried