Это немного проблематично сделать это AFAIK.
Значение свойства IWebBrowser2 :: Type зависит от того, какой плагин, который вы установили, который обрабатывает PDF, потому что некоторые плагины создают HTML-оболочку для файла PDF (например, Adobe), поэтому вы получаете «HTML-документ». "as type и некоторые плагины этого не делают (например, Foxit), поэтому вы не можете ретранслировать это исключительно.
Таким образом, если вы получили PDF с HTML-оберткой, вы можете использовать IHTMLDocument2 :: mimeType , чтобы узнать точный тип документа (файлы JPEG / GIF / PNG / и т. Д. Все файлы упаковываются в HTML браузером ). Но, как я знаю, это также ненадежно, например, на моем компьютере он возвращает «Документ Firefox» для документов HTML, потому что файлы .html связаны с Firefox: s Но я не проверял, так ли это с PDF-файлами.
Другой вариант - использовать GetUrlCacheEntryInfoEx Вызов API для получения файла в кеше локального браузера, в котором хранится документ, а затем прочитать его (важно только начало файла, думаю, важны только первые 256 байтов) и вызовите FindMimeFromData с данными, которые вы только что прочитали, и он вернет тип mime.