Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何支持在浏览器中以Internet Explorer 64位格式显示PDF文件_C#_Winforms_Internet Explorer_Adobe_Browser - Fatal编程技术网

C# 如何支持在浏览器中以Internet Explorer 64位格式显示PDF文件

C# 如何支持在浏览器中以Internet Explorer 64位格式显示PDF文件,c#,winforms,internet-explorer,adobe,browser,C#,Winforms,Internet Explorer,Adobe,Browser,使用64位版本的Internet Explorer时,Adobe似乎不支持在浏览器中显示PDF。单击pdf链接后,64位Internet Explorer将始终跨越一个新的Adobe窗口来显示pdf。32位Internet Explorer将显示嵌入浏览器本身的pdf 在64位WinForms.NET应用程序中使用WebBrowser控件时,我注意到了这个问题。我不相信在64位应用程序中使用32位WebBrowser控件是可能的,因此我正在寻找解决此问题的一些方法,即使它需要使用第三方插件 如有

使用64位版本的Internet Explorer时,Adobe似乎不支持在浏览器中显示PDF。单击pdf链接后,64位Internet Explorer将始终跨越一个新的Adobe窗口来显示pdf。32位Internet Explorer将显示嵌入浏览器本身的pdf

在64位WinForms.NET应用程序中使用WebBrowser控件时,我注意到了这个问题。我不相信在64位应用程序中使用32位WebBrowser控件是可能的,因此我正在寻找解决此问题的一些方法,即使它需要使用第三方插件

如有任何建议,将不胜感激


谢谢

如果您的平台目标需要是x64,并且您需要使用x64不兼容的功能,那么显然您有一个问题。你必须在一方或另一方做出妥协


或者,您可以为PDF查看器打开一个单独的进程,并将新生成的进程窗口的父窗口设置为您的容器控件。这将产生在控件中“嵌入”窗口的效果。然后可以强制删除边框并将其最大化。Windows API,救命啊!如果您决定走这条路线,请查看。您可以毫无困难地分发这条路线。

刚刚在SO中找到这条信息。“Internet Explorer 64位只能运行64位插件。Adobe PDF插件为32位,不能在64位IE中运行”。所以,我真正想要的是一些有创意的替代方案?你能使用不同的浏览器引擎吗?WebKit可以很好地处理PDF谢谢你的建议,不幸的是,使用不同的浏览器引擎不是一个选项:-(只需将项目的平台目标设置为x86。我需要将我的平台目标保持为64位。Hi@Zenexer,你有什么文章可以链接吗?鉴于我缺乏使用Win API的经验和潜在的陷阱(贝娄)我更倾向于在专家指导下尝试。根据Hans Passant在这篇文章中的评论:听起来这可能不是一个实际的解决方案。在我的情况下,我需要嵌入adobe acrobat(这是一个没有解决方案的常见讨论话题)完成进程外解决方案的管道听起来不太有希望。@诵读困难的Anaboko在单独的进程中运行它是非常不切实际的。但是,鉴于你不能让一个进程同时运行32位和64位代码,在Adobe变得更新一点之前,这是你唯一的选择。这也是我在年成功完成的一项技术类似的情况,所以这是绝对可能的。最好的部分是,您可以完全放弃web浏览器控件。您还可以处理整个应用程序,而不是ActiveX控件,这实际上使此技术更容易。