Имаме приложение .NET C#, което използва контролите на Adobe ActiveX. За версии 7-10 както на Adobe Acrobat, така и на Adobe Reader, за да използвате тази контрола, трябваше да включите настройката „Показване на PDF в браузъра“. Можете да направите това ръчно от GUI, като използвате
Preferences > Internet > Display PDFs in browser
или програмно чрез директно задаване на настройките на системния регистър
HKEY_CURRENT_USER\Software\Adobe\(Product Name)\(Version)\Originals
"bBrowserIntegration"=dword:00000001
Което следва препратката към SDK http://www.adobe.com/devnet-docs/acrobatetk/tools/PrefRef/Windows/Originals.html#BrowserIntegration. Нашето приложение използва програмната настройка на тази стойност в регистъра, когато нашите клиенти имат версии 7-10 на Adobe Reader или Adobe Acrobat. Връзката по-горе също показва, че този ключ на регистъра bBrowserIntegration
е отхвърлен в XI (11). Старият път на регистъра все още съществува в новите версии, т.е.:
HKEY_CURRENT_USER\Software\Adobe\(Product Name)\(Version)\Originals
но вече няма ключ bBrowserIntegration
точно както показва документацията, той е отхвърлен.
Изглежда, че Adobe ActiveX Control все още работи добре с XI и DC, стига да е активирано Display PDF в браузъра, както винаги.
За версии XI (11) и DC има две публикувани връзки, които ясно показват как да постигнете това ръчно:
XI (11): https://helpx.adobe.com/acrobat/11/using/display-pdf-browser-acrobat-xi.html
DC (current): https://helpx.adobe.com/acrobat/using/display-pdf-in-browser.html
Когато тестваме Adobe Reader DC, ако не изпълним стъпките за активиране на Display PDF в браузъра за нова клиентска инсталация, тогава нашето приложение ще изведе COM error
и след това, ако активираме настройката, следвайки инструкциите в връзката по-горе, всичко работи според очакванията с нашето приложение, изобразява PDF файлове с помощта на Adobe ActiveX Control, което е подобно на това, което очакваме да видим в по-стари версии (7-10), когато настройката на системния регистър не е зададена (вижте моята стара публикация и моето собствено решение обратно след това Как да се диагностицира причината, да се коригира или да се заобиколи свързаната с Adobe ActiveX / COM грешка 0x80004005 програмно?).
Така че остава въпросът какъв е очакваният програмен еквивалент или за ръчния процес в XI или DC днес, или еквивалентът на това, което работи в 7-10, като зададете съответно настройката на системния регистър bBrowserIntegration
. Искаме да можем да го включим и след това да го върнем към предишната настройка, когато приложението ни приключи (така че приложението ни да не принуждава потребителя да запази настройката само защото приложението ни се нуждае от това), което правим днес за 7 -10.
Изглежда не мога да намеря никакви препратки онлайн за това как да активирам/деактивирам интегрирането на браузъра от гледна точка на разработчиците, така че нашето приложение да може да продължи да използва ActiveX Control и да не се появяват COM грешки, принуждавайки потребителя да промени това ръчно.
Основният приоритет е да се разбере решението за DC, тъй като това представлява новата парадигма за Adobe Acrobat/Reader.
WebBrowser
контрола към PDF файл? Или да хоствате директно Acrobat Reader ActiveX? - person noseratio   schedule 07.07.2015