Hola, pero has hecho cálculos en cuánto tarda cada apartado.
Dudo mucho que abrir un pdf con un soft externo tarde 8 segundos. Y si es así, cámbialo por otro.
Pon un temporizador en tu código y calcula cuánto tarda cada parte, algo así como:
Código Delphi
[-]timer1.enabled:=true;
descargar fichero de internet;
tiempo = now-timer1.datetime;
guardar en disco;
tiempo = now-timer1.datetime;
abrir pdftoprint;
tiempo = now-timer1.datetime;