Is there an option to export all issues / TODOS to csv or pdf file in GitLab?
As other users have commented, CSV export is built into paid versions of gitlab:
https://docs.gitlab.com/ee/user/project/issues/csv_export.html
However that does have issues - it emails the report to you and hence gitlab limit it to 20MB in size, and depending on the version of gitlab you're using some of the fields may not be present in the export.
Thankfully gitlab has a good API (including in the free version), so you can extract issues via the issues API instead, and once you have that data it's very simple to output it in CSV format.
I wrote a very simple perl script that does this, it's available here and should work with free & paid versions of gitlab and also on gitlab.com: