Report RSTXPDFT4 does everything for you!
Just use SA38 or SE38 and run the report RSTXPDFT4. If you want to use this functionality through your whole company it might be useful to create a transaction for it in order to make it more convenient and easier accessible for users with limited authorizations.
It creates PDF files locally on your PC when you are connected to the SAP system. So, you can "print" everything to a PDF without any quality losing.
This report needs just the spoolrequest number and you have to enter the target location on your frontend and that's it. For sure, you have to use a dialog for this.
If the spool should be very long this could result in a TIME_OUT. But, this should only be the case very rarely. For these situations, it might be possible to change the parameter rdisp/max_wprun_time to 0 for a short time. Or you could have a look if e.g. the Central Instance (CI) is by any chance set to 0 for the admins. Then it might be possible, to let them create the PDF for.
Have fun with this really perfect and useful report.