TL;DR
As of now, downloading the jupyter notebook and then converting it to PDF is the quickest way.
If you still wish to convert the notebook to PDF on kaggle itself, you can do it using command line by following these steps:
Note that the Internet should be connected (check from the right menu).
1. Ensure all necessary libraries are installed.
!pip install nbconvert # already-installed (most probably)
!apt install pandoc # already-installed
!apt install texlive-xetex -y # this'll take a long time
2. Use nbconvert
to convert jupyter notebook to PDF
!ls # will output notebook name e.g. `__notebook_source__.ipynb`
!jupyter nbconvert --execute --to pdf __notebook_source__.ipynb
3. Now, either you can Commit and Run (see Edit below) and get this file on Output tab or simply upload it using SSH or third-party service like transfer.sh (Use file.io, transfer.sh doesn't work anymore).
#!curl --upload-file __notebook_source__.pdf https://transfer.sh/notebook.pdf
!curl -F "file=@__notebook_source__.pdf" https://file.io
This will output a url like this:
https://file.io/uYWP0azE2soj
Go to the url and get your file.
Note that you can skip installing texlive-xetex
if you only want HTML file.
Edit: It turns out Kaggle has changed it GUI a little bit, so, if you're Commiting and Running by clicking on Save Version
and you're doing a Quick Save
, then you need to select Save output for this version
in Advanced Settings in order to save output pdf file. Or you can simply use Save & Run All (Commit)
, it'll save output pdf as well.
__notebook_source__.pdf
, notnotebook_source.pdf
. Use!ls
to list files. See edit as well. – Handtomouth