In your IObjectWithSite::SetSite() implementation find and hook a sink object to the DWebBrowserEvents2 connection point of the browser object passed into the SetSite function. Now in your event sink's IDispatch::Invoke implementation check if the URL parameter is a string ends with PDF.
If you do not want to show the PDF at all, you probably want to consider handling the PDF MIME type by yourself.