Hola petete2008,
Lo puedes hacer usando Indy. Indy tiene un componente denominado tidHTTP.
Este es un ejemplo de cómo hacerlo:
Código Delphi
[-]
Var
ms:TMemoryStream;
begin
ms := TMemoryStream.Create;
try
IdHTTP.Get('http://www.fichero_pdf.pdf',ms);
ms.Position := 0;
ms.SaveToFile('c:\mi_pdf.pdf');
except
showmessage('se ha producido un error al descargar el fichero PDF')
end;
FreeAndNil(ms);
Espero que te ayude.
Un saludo.