2012-02-10 5 views
6

Adobe no parece ser compatible con la visualización de archivos PDF en el navegador cuando se utiliza la versión de 64 bits de Internet Explorer. Una vez que se hace clic en un enlace en PDF, Internet Explorer de 64 bits siempre abarcará una nueva ventana de Adobe para mostrar el pdf. El Internet Explorer de 32 bits mostrará el pdf incrustado en el navegador.¿Cómo puedo admitir la visualización en el navegador de un archivo PDF en Internet Explorer 64-bit

Me di cuenta de este problema al utilizar el control WebBrowser en una aplicación WinForms .NET compilada de 64 bits. No creo que sea posible utilizar el control WebBrowser de 32 bits en la aplicación de 64 bits, por lo que estoy buscando algunas soluciones a este problema, incluso si requiere el uso de un complemento de terceros.

Cualquier sugerencia sería muy apreciada.

Gracias.

+0

Acabo de encontrar esta información en SO. "Internet Explorer 64 bits solo puede ejecutar complementos de 64 bits. El complemento Adobe PDF es de 32 bits y no se puede ejecutar en un IE de 64 bits". Entonces, ¿qué estoy buscando realmente aquí es una alternativa creativa? – fin

+0

¿Podría usar un motor de navegador diferente? WebKit puede manejar archivos PDF muy bien afaik – jalf

+0

Gracias por su sugerencia, desafortunadamente, usar un motor de navegador diferente no es una opción :-( – fin

Respuesta

4

Si el objetivo de la plataforma debe ser x64, y su necesidad de utilizar una función incompatible con x64, entonces claramente tiene un problema. Tendrás que comprometerte de un lado o del otro.

Como alternativa, podría buscar abrir un proceso separado para el visor de PDF y establecer la ventana principal de la ventana del proceso recién generado en el control de contenedor. Esto tendrá el efecto de "incrustar" la ventana dentro de su control. A continuación, puede eliminar con fuerza el borde y maximizarlo. ¡API de Windows, al rescate! Consulte Sumatra PDF si decide seguir esta ruta, que probablemente pueda distribuir sin ningún problema.

+0

Hola @Zenexer, ¿Hay algún artículo al que puedas vincular? Dada mi falta de experiencia con Win API y las posibles dificultades (abajo), estaría más inclinado a intentarlo con la orientación de un experto. Basado en los comentarios de Hans. Pasa a esta publicación: [link] (http://stackoverflow.com/questions/2152449/32-bit-activex-control-in-a-64-bit-net-app) suena como e esto puede no ser una solución práctica. En mi caso, necesito incorporar Adobe Acrobat (que es un tema común de discusión sin soluciones). Las tuberías para lograr una solución fuera de proceso no suenan prometedoras. – dyslexicanaboko

+0

@dyslexicanaboko Ejecutarlo en un proceso separado es bastante poco práctico. Sin embargo, dado que no puede tener un proceso que ejecute código de 32 bits y de 64 bits, es su única opción hasta que Adobe esté un poco más actualizado. También es una técnica que he realizado con éxito en situaciones similares, por lo que definitivamente es posible. La mejor parte es que puede renunciar al control del navegador web por completo. También se trata de una aplicación completa, no de un control ActiveX, lo que hace que esta técnica sea más fácil. – Zenexer

Cuestiones relacionadas