我有CefSharp-master项目,其基于Chromium- 31.0.1650.57。一切都工作得很好,但是当我点击链接加载/查看网站上的PDF文件并弹出加载后一段时间后我得到一个对话框说“CefSharp.BrowserSubprocess.exe已经停止工作。” / strong>和oped弹出窗口变黑。以下是我在Windows事件查看器中找到的内容..
Application: CefSharp.BrowserSubprocess.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
at <Module>.CefExecuteProcess(CefMainArgs*, CefRefPtr<CefApp>*)
at CefSharp.CefAppWrapper.Run(System.String[])
at CefSharp.BrowserSubprocess.Program.Main(System.String[])
有什么问题?我搜索了很多,但没有发现任何想法。
答案 0 :(得分:1)
我认为你实际上遇到了两个不同的问题:
Adobe PDF插件无法使用CefSharp.Wpf
组件使用的屏幕外渲染。请参阅下面CefSharp.Wpf.Example
的屏幕截图。
短期PDF插件适用于CefSharp.WinForms
,我刚刚尝试使用主分支。从长远来看,我希望谷歌向Chromium捐赠Crome PDF支持,因此CEF和CefSharp将及时删除对Adobe PDF插件的依赖。
我怀疑是因为您所在的网站在新窗口中打开PDF。这是一个显然是在v.31.0.0-pre1版本和现在之间在master中引入的bug。请检查#449 PR是否可以解决您的崩溃问题,并在那里报告。
术语&#34;屏幕外渲染&#34; - 或者发烧友版本OSR甚至在https://code.google.com/p/chromiumembedded/wiki/GeneralUsage#Off-Screen_Rendering解释。一般来说,如果您使用CefSharp,我建议您在CEF上阅读一些内容,并且一般用法维基页面是一个很好的起点。
CefSharp为WPF使用CEF的OSR模式,为WinForms使用普通/非OSR模式。
答案 1 :(得分:0)
看起来Adobe Acrobat pdf插件崩溃了。该插件无法在屏幕外渲染模式下正常工作。请参阅CEF论坛上的这个主题:
http://www.magpcss.org/ceforum/viewtopic.php?f=6&t=11440
您可以在CefRequestHandler :: OnBeforePluginLoad中禁用特定插件:
https://github.com/cefsharp/CefSharp/search?q=OnBeforePluginLoad&ref=cmdform