Internet Explorer 용 Adobe 판독기가 설치되어 있는지 확인 했습니까? 또한 Internet Explorer에서 PDF 파일을 열 수 있는지 확인해야합니다.
때때로 다른 Internet Explorer 렌더링 엔진을 사용하는 데 도움이됩니다. 이 코드는 다음 코드로 아카이브 할 수 있습니다 (경고 : 관리자 권한이 필요합니다).
private void CheckAndFixWebBrowserRenderingEngine()
{
RegistryKey baseRegistryKey = Registry.LocalMachine;
string renderingEngineSubKeyString = @"SOFTWARE";
// 64bit operationg systems have another registry path
if (Environment.Is64BitOperatingSystem)
{
renderingEngineSubKeyString += @"\Wow6432Node";
}
renderingEngineSubKeyString += @"\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION";
var assemblyValueKey = Path.GetFileName(App.ResourceAssembly.Location);
var renderingEngingeValue = 9999; // check other values below
try
{
RegistryKey sk1 = baseRegistryKey.CreateSubKey(renderingEngineSubKeyString);
var value = sk1.GetValue(assemblyValueKey);
if (value == null || value.ToString() != renderingEngingeValue.ToString())
{
sk1.SetValue(assemblyValueKey, renderingEngingeValue);
LogHandler.Instance.Add(string.Format("Did update webbrowser rendering engine from {0} to 9000.", value == null ? "[missing]" : value));
}
}
catch (Exception ex)
{
LogHandler.Instance.Add("Could not check webbrowser rendering engine in registry.");
LogHandler.Instance.Add(ex.ToString(), Logging.LoggingPriorities.Exception);
}
/*
9999 (0x270F)
Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
9000 (0x2328)
Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
8888 (0x22B8)
Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
8000 (0x1F40)
Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
7000 (0x1B58)
Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode.
*/
}
나는 interoperable을 사용하여 간단한 것을 발견했습니다. Adobe Reader가있는 사용자 컨트롤 (Winform)을 추가하고 상호 운용성 – nullrefereceexception
@Bernhard Krenz를 사용하여 wpf에 넣으십시오.이 코드는 32 비트 창에 유효하지만 64 비트 버전에서는 작동하지 않습니다. – MuhammadHani