Pergunta

Qual é a melhor maneira de determinar se o navegador do usuário pode visualizar arquivos PDF?

Idealmente, isso não deveria importar no navegador ou no sistema operacional.

Existe uma maneira específica de fazer isso em ASP.NET ou a resposta seria apenas JavaScript?

Foi útil?

Solução

Nenhum, nenhum, não tente.

amanhecer:A detecção de plug-in não é a resposta certa.Não tenho um plugin de PDF instalado em meu navegador (Firefox no Ubuntu), mas consigo visualizar arquivos PDF usando o visualizador de documentos do sistema operacional (que não é o Acrobat Reader).

Hoje, qualquer sistema operacional que execute um navegador da web pode visualizar arquivos PDF imediatamente.

Se um sistema específico não tiver um visualizador de PDF instalado e o navegador configurado para usá-lo, isso provavelmente significa que é uma instalação feita à mão do Windows, um sistema operacional alternativo muito reduzido ou algo realmente retrô.

É razoável supor que em qualquer uma dessas situações o usuário saberá o que é um arquivo PDF e optará deliberadamente por não poder visualizá-lo ou saberá como instalar o software necessário.

Se estou me iludindo, adoraria que me explicassem de que maneira estou errado.

Outras dicas

Uma rápida pesquisa no Google encontrei isso.Útil para todos os tipos de plugins.

Existem usuários que optam por não abrir PDF’s no navegador e desabilitar o plugin (isso permite que o arquivo seja aberto no aplicativo nativo fora da janela do navegador).É melhor informar ao usuário que é necessário um software para abrir algo (seja PDF ou não) do que tentar detectar se o plugin está disponível.

Outro problema com a detecção é que você precisa procurar alterações de versão para versão (por exemplo, consulte:"PDF.PdfCtrl.*" vs "AcroPDF.PDF.*" para o visualizador Adobe PDF) e diferentes implementações de navegador (as strings mencionadas anteriormente são usadas no IE, por exemplo, enquanto o Firefox usa uma forma totalmente diferente de detecção.Então precisamos pensar no Opera e no Safari e ???).Além disso, existem diferentes fornecedores (pense em Foxit e Ghostscript, embora eu não tenha certeza se eles fornecem um plugin para o navegador) onde pode haver diferenças na detecção do plugin.

Para um roteiro escrito em 2008 e mais algumas informações sobre as advertências, consulte Detectando plugins no Internet Explorer (e algumas dicas para todos os outros).

Depois de ignorar inicialmente os conselhos desta página, o arquiteto prosseguiu com a detecção do Acrobat, causando um inevitável pesadelo de suporte.

Como o ddaa menciona, nem todos os cenários podem ser capturados com precisão com a detecção de plug-in.Alguns usuários, por exemplo, podem optar por visualizar arquivos PDF com o FoxIt Reader em vez do Acrobat.Os navegadores de alguns usuários não sinalizam que estão prontos para o Acrobat e certamente nem sempre da mesma maneira.

Uma solução melhor teria sido dar ao usuário a escolha de como gostaria de visualizar o documento relevante.Pessoalmente, não gosto que nenhum site dependa de um plug-in - isso estraga a beleza da web.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top