6
votes

Adobe does not seem to support the display of PDFs in the browser when using the 64-bit version of Internet Explorer. Once a pdf link is clicked the 64-bit Internet Explorer will always span a new Adobe window to display the pdf. The 32-bit Internet Explorer will display the pdf embedded in the browser itself.

I noticed this issue when using the WebBrowser control in a 64-bit complied WinForms .NET application. I don't believe it's possible to use the 32-bit WebBrowser control in the 64-bit application so I am looking for some solutions to this problem even if it requires the use of a third party plug-in.

Any suggestions would be greatly appreciated.

Thanks.

1
Just found this piece of information in SO. "Internet Explorer 64bit can run only 64bit plugins. The Adobe PDF plugin is 32bit and it cannot run in 64bit IE". So, what I'm really looking for here is some creative alternative?fin
Could you use a different browser engine? WebKit can handle PDFs just fine afaikjalf
Thanks for you suggestion, unfortunately, using a different browser engine is not an option :-(fin
Just set your project's Platform target to x86.Hans Passant
I need to keep my platform target as 64-bit.fin

1 Answers

4
votes

If you platform target needs to be x64, and your need to use an x64-incompatible feature, then clearly you have an issue. You're going to have to compromise on one side or the other.

Alternatively, you could look into opening a separate process for the PDF viewer and setting the parent window of the newly spawned process' window to your container control. This will have the effect of "embedding" the window within your control. You can then forcefully remove the border and maximize it. Windows API, to the rescue! Check out Sumatra PDF if you decide to go this route, which you can probably distribute without any trouble.