A cross-platform solution is to use headless Chromium to save pages as PDFs.
Example I just tried and worked for me:
$ chrome.exe --headless --no-sandbox --disable-gpu --print-to-pdf=page.pdf https://news.ycombinator.com
Taken from: https://circumeo.io/blog/entry/html-to-pdf-using-python-and-...
I know you can specify cookies, existing sessions and existing profiles in case authentication is required.