2012-02-10 12 views
6

Adobe non sembra supportare la visualizzazione di PDF nel browser quando si utilizza la versione a 64 bit di Internet Explorer. Una volta fatto clic su un collegamento PDF, l'Internet Explorer a 64 bit si estenderà sempre su una nuova finestra di Adobe per visualizzare il pdf. L'Internet Explorer a 32 bit mostrerà il pdf incorporato nel browser stesso.Come supporto della visualizzazione nel browser di un file PDF in Internet Explorer 64-bit

Ho notato questo problema quando utilizzo il controllo WebBrowser in un'applicazione WinForms .NET a 64 bit rispettata. Non credo sia possibile utilizzare il controllo WebBrowser a 32 bit nell'applicazione a 64 bit, quindi sono alla ricerca di alcune soluzioni a questo problema anche se richiede l'utilizzo di un plug-in di terze parti.

Qualsiasi suggerimento sarebbe molto apprezzato.

Grazie.

+0

Ho appena trovato questa informazione in SO. "Internet Explorer 64bit può eseguire solo plug-in a 64 bit. Il plug-in Adobe PDF è a 32 bit e non può essere eseguito in IE a 64 bit". Quindi, quello che sto davvero cercando qui è un'alternativa creativa? – fin

+0

Potresti utilizzare un motore di ricerca diverso? WebKit è in grado di gestire i PDF semplicemente afaik – jalf

+0

Grazie per il suggerimento, sfortunatamente, l'utilizzo di un motore browser diverso non è un'opzione :-( – fin

risposta

4

Se l'obiettivo della piattaforma deve essere x64 e la necessità di utilizzare una funzione x64 non compatibile, è chiaro che si è verificato un problema. Dovrai accettare un compromesso da una parte o dall'altra.

In alternativa, è possibile esaminare l'apertura di un processo separato per il visualizzatore PDF e l'impostazione della finestra padre della finestra del processo appena generato al controllo contenitore. Ciò avrà l'effetto di "incorporare" la finestra sotto il tuo controllo. È quindi possibile rimuovere con forza il bordo e massimizzarlo. API Windows, in soccorso! Controlla Sumatra PDF se decidi di seguire questa rotta, che probabilmente puoi distribuire senza problemi.

+0

Ciao @Zenexer, ci sono articoli a cui puoi collegarti? Data la mia mancanza di esperienza con Win API e le potenziali insidie ​​(sotto) sarei più propenso a provarlo con una guida esperta. Passant su questo post: [link] (http://stackoverflow.com/questions/2152449/32-bit-activex-control-in-a-64-bit-net-app) sembra simile e questa potrebbe non essere una soluzione pratica. Nel mio caso ho bisogno di incorporare adobe acrobat (che è un argomento di discussione comune senza soluzioni.) L'impianto idraulico per realizzare una soluzione fuori processo non sembra promettente. – dyslexicanaboko

+0

@dyslexicanaboko Eseguirlo in un processo separato è abbastanza poco pratico. Tuttavia, dato che non è possibile avere un processo in esecuzione sia con codice a 32 bit che a 64 bit, è la tua unica opzione finché Adobe non sarà un po 'più aggiornato. È anche una tecnica che ho fatto con successo in situazioni simili, quindi è sicuramente possibile. La parte migliore è che puoi rinunciare completamente al controllo del browser web. Stai anche gestendo un'intera applicazione, non un controllo ActiveX, che rende davvero più semplice questa tecnica. – Zenexer

Problemi correlati