It is nice when a user can click a button and generate a PDF. Over the last few months, I have added PDF generation to many projects. Examples of PDF generation include order invoices, sell sheets, webform submission results, and general node to PDF generation.
When tasked at generating PDFs, I have been applying the dompdf library. The dompdf library implements the most flexibility by using HTML and CSS to generate PDFs. Therefore, giving the most flexibility for custom theming.
I've been using the commerce_currency_resolver module and it has been fantastic to use. One issue I ran into was with how the cookies are handled on Pantheon.
When using custom cookies a special naming convention must be used. The cookie's name must start with STYXKEY.
Drupal 8 has a really great configuration synchronization system, and is great for syncing up different environments. When creating new modules and adding new fuctionality I really enjoy working with Drupal 8's configuration synchronization tool. Not only does this tool take the guesswork out of updates that need to be made on other environments. The configuration synchronization also allows for all changes to be documented.