Entity PDF can create a PDF from any entity based on any view mode.
URL to use: /entity_pdf/{entity_type}/{entity}/{view_mode}
Example: /entity_pdf/node/5/pdf
Entity PDF versions prior to 1.1 use mpdf7.
Entity PDF versions from 1.1 and above use mpdf8 and require PHP7.4 or greater.
Install with composer only!
The module provides a htmlpdf.html.twig file so you can control the entire HTML structure that gets converted to PDF. No CSS and/or JS from Drupal will get added so you need to add everything by hand in the twig file.
All fields will get a view mode template suggestion added so you can theme fields for your PDF view mode.
(Once https://www.drupal.org/node/2270883 is in core this should all work out-of-the-box in Drupal).
The module also provides an "Entity Pdf Download" action that allows to generate & download PDFs as operation on multiple nodes (i.e. via Views Node operations bulk form).
If you use Display Suite, an extra (ds_)field will become available (for nodes only) on all view modes that outputs a link to your PDF view. (view mode for the generation can be selected).
There is a basic access check/permission to view PDF's: don't forget to check it in your permissions.
If you need more access control and checks: contact me) or create a ticket in the issue queue.