IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

C# Vérifier la présence d'Acrobat Reader chez le client.


Sujet :

ASP.NET

  1. #1
    Membre averti

    Homme Profil pro
    S'occupe de tout.
    Inscrit en
    Février 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : S'occupe de tout.
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2004
    Messages : 209
    Points : 304
    Points
    304
    Par défaut C# Vérifier la présence d'Acrobat Reader chez le client.
    Bonjour,

    J'ai une application en asp.net qui va permettre à un utilisateur de venir ouvrir des documents pdf généré à la demande.

    Seulement, avant de généré le document, je voudrais m'assurer que l'utilisateur est bien acrobat reader sur son poste.

    J'avais regardé sur le net et j'avais trouvé cette ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RegistryKey hkey = Registry.ClassesRoot;
    bool exist = hkey.OpenSubKey("AcroExch.Document") != null;
    hkey.Close();
    Cela marchait quand je lançait mon site depuis VS2005, mais par sur mon serveur de test (j'en déduis que le code vérifie la présence d'Acrobat sur le serveur et non sur le client).

    Donc ma question est : comment faire pour que mon application vérifie la présence d'Acrobat Reader sur le poste du client ?

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Il est possible de détecter la présence d'Adobe Reader en utilisant le Javascript suivant :
    Code JAVASCRIPT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    var found = false;
    var info = '';
     
    try
    {
        acrobat4 = new ActiveXObject('PDF.PdfCtrl.1');
        if (acrobat4)
        {
            found = true;
            info = 'v. 4.0';
        }
    }
    catch (e)
    {
        //???
    }
     
    if (!found)
    {
        try
        {
            acrobat7 = new ActiveXObject('AcroPDF.PDF.1');
            if (acrobat7)
            {
                found = true;
                info = 'v. 7+';
            }
        }
        catch (e)
        {
            //???
        }
     
        if (!found && navigator.plugins && navigator.plugins.length>0)
        {
            for (var i = 0; i<navigator.plugins.length; i++)
            {
                if (navigator.plugins[i].name.indexOf('Adobe Acrobat') > -1)
                {
                    found = true;
                    info = navigator.plugins[i].description + ' (' + navigator.plugins[i].filename + ')';
                    break;
                }
            }
        }
    }
     
    document.write("Acrobat Reader Installed : " + found);
    document.write("<br />");
    if (found) document.write("Info : " + info);
    source

    C'est à priori compatible avec IE, FF et Chrome.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 206
    Points : 28 131
    Points
    28 131
    Par défaut
    Juste pour dire qu'il ne faut pas chercher Acrobat Reader, mais un lecteur PDF, sauf à vouloir imposer l'utilisation d'Acrobat Reader à tes utilisateurs.

    Sur mon poste, par exemple, (ainsi que des 10ène de postes dans mon entourage) tu ne trouvera aucune trace d'Acrobat Reader. Cela ne m'empêche pas de lire des pdf à longueur de journée (j'utilise Foxit Reader).

    De manière générale, et je suis loin d'être le seul, je bannis les usines à gaz que sont les logiciels Adobe.


    Edit : Autre point à prendre en compte : Dans les dernières versions de Firefox, le lecteur pdf est directement inclue dans le navigateur. Est-il détectable et comment le détecté, celui-là ?
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  4. #4
    Membre averti

    Homme Profil pro
    S'occupe de tout.
    Inscrit en
    Février 2004
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : S'occupe de tout.
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2004
    Messages : 209
    Points : 304
    Points
    304
    Par défaut
    Pour sevyc64 : on m'a demandé de tester Acrobat Reader, pour permettre de mettre à jour les postes clients ensuite.

    Pour DotNetMatt : merci pour la recherche, déjà que j'adorrrrrrre les développements web, mais en plus me voilà avec du javascript, je suis fou de joie.

  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut
    Citation Envoyé par DotNetMatt Voir le message
    Il est possible de détecter la présence d'Adobe Reader en utilisant le Javascript suivant
    Il me semble bien que FF ne supporte pas les ActiveX. Pour Chrome j'en doute.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier l'existence d'un cookie chez le client...
    Par HNT dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/08/2005, 21h09
  2. postgresql et acrobat reader
    Par sunshine2004 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 21/05/2005, 10h28
  3. Accélérer l'ouverture d'acrobat reader 6
    Par petitours dans le forum Autres Logiciels
    Réponses: 6
    Dernier message: 20/12/2004, 13h53
  4. Réponses: 12
    Dernier message: 08/06/2004, 08h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo