Donnez vie à vos documents numériques !
 

Vérifier la version du Reader à l’ouverture d’un document.

abracadabraPDF Forums PDF – Général Vérifier la version du Reader à l’ouverture d’un document.

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #43667
    Lionel
    Membre

    Bonjour,

    Désormais, les récentes versions du Reader vérifient -si une connexion internet est active- s’il existe une version supérieure du Reader que celle en service actuellement sur votre configuration. Puis propose de la télécharger.

    Ma question est de savoir, si on pouvait intégrer dans un document PDF un script qui lancerai le même type de vérification (script lancé à l’ouverture d’un document) et de proposition de mise à jour. Je pense que connaître la version utilisée du Reader c’est simple, après, pour l’info de la version la plus récente c’est là que ça se complique (car ensuite comparer deux chiffres et déclencher ceci, c’est à mon avis facilement faisable).

    Le but est d’informer / d’inciter à mettre à jour les encore nombreuses personnes qui possèdent encore des versions 4 ou 5 du Reader; j’en connais plein. Et, pour cela, une procédure automatique serait bien.

    Bien cordialement. :bonjour:
    Lionel

Affichage de 29 réponses de 1 à 29 (sur un total de 29)
  • Auteur
    Réponses
  • #49852
    Merlin
    Maître des clés

    Effectivement, l’idée est bonne mais ce n’est pas simple…

    Où aller chercher l’info contenant le dernier n° de version ? Sur un site perso (à mettre à jour soi-même) ou sur le site d’Adobe ?
    Et dans ce dernier cas : où, et comment connaître la pérennité de son fonctionnement ?

    De plus, dans tous les cas (sauf réglage contraire dans les Préférences) Reader demandera à l’utilisateur l’autorisation de se connecter au site distant, ce qui risque d’en perturber plus d’un (surtout si le nom du site demandé n’est pas celui d’Adobe).

    Le plus simple me parait de mettre en 1re page du PDF la Page de couverture des Porte-documents PDF qui affiche un message et un gros bouton on ne peut plus explicites : http://abracadabrapdf.net/articles.php?lng=fr&pg=438
    Page à laquelle rien n’interdit d’ajouter un 2e gros bouton : continuer (ou page suivante, ou…).

    Ou bien de faire un script à l’ouverture qui fait la même chose, c’est à dire par exemple, d’afficher une alerte pour demander à l’utilisateur de télécharger Reader en version 9 ou ultérieure, avec un lien vers le site de téléchargement.
    Sachant que la version 4 est à prendre avec des pincettes pour ce qui est du JavaScript…

    :joker:

    #49853
    Lionel
    Membre

    Bonjour,

    :idee: En fait, je me complique.
    La solution est d’avoir un script qui vérifie / lit la version du Reader qui lit le document.
    Puis, si ce nombre est inférieur ou égal à 7 : on affiche un message indiquant que la version installée d’Adobe Reader est ancienne et qu’une plus récente, et plus performante, peut être installée gratuitement (avec le lien web web actif http://www.adobe.fr/products/acrobat/readstep2.html ).

    Cela doit, cette fois, être faisable. :sourire: Qu’en penses-tu ?

    À bientôt. :bonjour:
    Lionel

    #49854
    Merlin
    Maître des clés

    Dans ce cas ça devient un jeu d’enfant, sauf que la version 7 est elle aussi déjà obsolète…

    ;) :soleil:

    #49855
    Lionel
    Membre

    Bonjour,

    Dans ce cas ça devient un jeu d’enfant, sauf que la version 7 est elle aussi déjà obsolète…

    C’est exactement ce que j’écris. ;) Si ce chiffre est inférieur ou égal à 7…

    Et si je ne me trompe pas, à partir de la version 8 du Reader, le test est directement fait par le Reader (via la comparaison dont je parlai dans mon premier message) avec une proposition de mise à jour. Inutile donc de doubler le test et l’alerte.

    Peut-être ne faut-il garder que la partie entière du numéro de version (6 et non 6.0.2 par exemple, ou 7 pour 7.0.1) pour que cela fonctionne bien. :idee:

    À bientôt.

    #49856
    Merlin
    Maître des clés

    Je l’ai justement constaté aujourd’hui sur les ordinateurs de la mairie d’Avignon où j’animais une session de formation : Adobe Reader 7 effectue aussi cette vérification et propose une mise à jour.

    JavaScript ne teste effectivement que le 1er chiffre du n° de version, le reste ne compte pas.

    J’avais déjà utilisé ce type de script pour les collections d’A vos Mac réalisées en 2004 et 2005 : le temps de remettre la main dessus…

    :contentdance:

    #49857
    Lionel
    Membre

    Bonjour,

    Il faut donc tester si le numéro de version utilisée est inférieur ou égale à six.

    À bientôt.
    Lionel  :bonjour:

    #49858
    Merlin
    Maître des clés

    if (app.viewerVersion >= 6)
    {
    app.alert(“La version d’Adobe Reader que vous utilisez est obsolu00E8te, vous pouvez tu00E9lu00E9charger gratuitement une version plus ru00E9cente sur : http://www.adobe.com/fr/products/acrobat/readstep2.html”, 3);
    }

    :extra:

    #49859
    Lionel
    Membre

    Bonjour,

    Merci. Extra.
    Je vais essayer cela dans un futur document.
    Cela rendra service à tout le monde (pénible les configurations qui incluent éternellement des versions 4, 5 ou 6 du Reader parce que les possesseurs ou les administrateurs ! :bonnetdane: ne savent pas qu’il existe des versions plus récentes :asepatersurlatete:).

    À bientôt.  :bonjour:

    #49860
    Merlin
    Maître des clés

    Souvent ils le savent, mais ils s’en fichent ou ils évitent parce qu’ils doivent effectuer tout un protocole de tests.

    Concernant la version 4 il n’est pas sur que le script fonctionne : il faut tester…
    :priere:

    #49861
    Lionel
    Membre

    Bonjour,

    En fait, le script est tout bête.

    Souvent ils le savent, mais ils s’en fichent ou ils évitent parce qu’ils doivent effectuer tout un protocole de tests.

    Les cas que je connais, les administrateurs sont de parfaits “hors univers informatique”. Sorti de trois logiciels qu’ils installent…  :violon: :PouceBas: Et les utilisateurs s’en remettent à eux, sans chercher plus loin.

    Je ne pense plus avoir de version 4 du Reader d’installé. Sur la configuration la plus ancienne (ma femme) avec un vieil iBook, ça doit être une 5. Si cela permet déjà d’informer les possesseurs de versions 5 et 6, c’est déjà très bien.

    En tout cas, cet script est extra, je peux le diffuser sur AVM ?

    À bientôt. :bonjour:
    Lionel

    #49862
    Merlin
    Maître des clés

    Sur la configuration la plus ancienne (ma femme)

    Ce n’est pas très gentil de la traiter de “configuration ancienne”, à sa place je le prendrais mal…
    :geek: :D />:D” title=”>:D” class=”bbcode_smiley” /></p>
<p></p>
<blockquote><p>En tout cas, cet script est extra, je peux le diffuser sur AVM ?</p></blockquote>
<p>No problemo, mais je ne suis pas sur que cela intéresse grand monde, ou alors dans un AVM Expert…</p>

		
	</div><!-- .bbp-reply-content -->
</div><!-- .reply -->

			
				
<div id=

    #49863
    Lionel
    Membre

    Bonjour,

    Sur la configuration la plus ancienne (ma femme)

    Ce n’est pas très gentil de la traiter de “configuration ancienne”, à sa place je le prendrais mal…
    :geek: :D />:D” title=”>:D” class=”bbcode_smiley” /></p></blockquote>
<p>Elle n’arrête pas de vieillir !  <img decoding=  Tu n’aurais pas aussi un script permettant de lui faire une mise à jour ?  :soleil:

    Merci.
    À bientôt.

    #49864
    Merlin
    Maître des clés

    Je viens d’avoir une illumination : mon script ne détecte pas s’il a affaire à Reader ou bien à Acrobat, il serait peut-être judicieux de désactiver l’affichage de l’alerte dans le 2e cas…

    Sinon tes utilisateurs vont être portés à croire que tu travaille pour Adobe.

    :???:

    #49865
    Merlin
    Maître des clés

    Elle n’arrête pas de vieillir !  :D  Tu n’aurais pas aussi un script permettant de lui faire une mise à jour ?  :soleil:

    if (MaFemmeVersion >= 40ans)
       {
          app.alert(“Version obsolète : vous devriez la remplacer par deux de 20 ans”, 3);
       }

    :contentdance: :geek:

    #49866
    Lionel
    Membre

    Bonjour,

    Je viens d’avoir une illumination : mon script ne détecte pas s’il a affaire à Reader ou bien à Acrobat, il serait peut-être judicieux de désactiver l’affichage de l’alerte dans le 2e cas…

    Une syntaxe du style
    :fleche: if (app.viewerVersion >= 6 and app.name ? Acrobat)

    @+

    #49867
    Merlin
    Maître des clés

    if (app.viewerVariation == “Reader” && app.viewerVersion >= 7)
       {
        app.alert(“La version d’Adobe Reader que vous utilisez est obsolu00E8te, vous pouvez tu00E9lu00E9charger gratuitement une version plus ru00E9cente sur : u0068u0074u0074u0070u003Au002Fu002Fu0077u0077u0077u002Eu0061u0064u006Fu0062u0065u002Eu0063u006Fu006Du002Fu0066u0072u002Fu0070u0072u006Fu0064u0075u0063u0074u0073u002Fu0061u0063u0072u006Fu0062u0061u0074u002Fu0072u0065u0061u0064u0073u0074u0065u0070u0032u002Eu0068u0074u006Du006C”, 3);
       }

    :soleil: :bravo:

    PS : j’ai remis la détection sur la version 7 car dans cette version Reader ne semble pas effectuer systématiquement la vérification, des fois il le fait, des fois non, je ne sais pas pourquoi…
    L’URL est entièrement en Unicode pour des raisons de compatibilité car elle utilise des caractères spéciaux (deux-points, slash, etc), par contre les versions 4 et antérieures ne reconnaissent pas cet encodage…

    Ci-joint un PDF d’exemple pour savoir où placer le script, pour ce qui est de l’encodage Unicode voir :
    http://abracadabrapdf.net/articles.php?lng=fr&pg=440

    [attachment deleted by admin]

    #49868
    Lionel
    Membre

    Bonjour,

    Merci :merlin:.

    Il existe une liste des commandes Javascript avec leur syntaxe et, surtout, l’explication de leurs fonctions en Français ?

    Lionel :bonjour:

    #49869
    Merlin
    Maître des clés

    JavaScript référence : http://partners.adobe.com/public/developer/en/acrobat/sdk/AcroJS.pdf

    JavaScript guide : http://www.adobe.com/devnet/acrobat/pdfs/AcroJSGuide.pdf

    Paramètres d’ouverture (dans l’URL) : http://partners.adobe.com/public/developer/en/acrobat/PDFOpenParameters.pdf

    Par contre tout est en anglais…

    :soleil:

    #49870
    Merlin
    Maître des clés

    Encore mieux, un JavaScript qui n’affiche l’alerte qu’à la 1re ouverture du document pour éviter d’assommer l’utilisateur final, la réinitialisation de l’alerte s’effectue lorsque le logiciel est quitté :

    /* L’alerte ne s’affiche qu’à la première ouverture du fichier */
    /* parce que les variables globales sont réinitialisées quand le logiciel est quitté */
    /* à placer en script de document ou en ouverture de 1re page */

    ////////////////////////////////////////////////////////////////////////////
    // on teste si la variable globale existe deja
    if (typeof global.readerversion == “undefined”)
        {
    // on teste si c’est Reader et sa version
        if (app.viewerVariation == “Reader” && app.viewerVersion     {
    // bip et alerte
        app.beep();
        app.alert(“La version d’Adobe Reader que vous utilisez est obsolu00E8te, vous pouvez tu00E9lu00E9charger gratuitement une version plus ru00E9cente sur : u0068u0074u0074u0070u003Au002Fu002Fu0077u0077u0077u002Eu0061u0064u006Fu0062u0065u002Eu0063u006Fu006Du002Fu0066u0072u002Fu0070u0072u006Fu0064u0075u0063u0074u0073u002Fu0061u0063u0072u006Fu0062u0061u0074u002Fu0072u0065u0061u0064u0073u0074u0065u0070u0032u002Eu0068u0074u006Du006C”, 3);
        }
    // apres alerte on initialise la variable globale
         global.readerversion = 1;
    }
    ////////////////////////////////////////////////////////////////////////////

    :RoiReine:

    Je le met en Citation parce qu’en Code on ne voit rien…
    Tout ce qui est sur une ligne après un slash / n’est pas exécuté par JavaScript : ce sont des commentaires

    #49871
    Lionel
    Membre

    Bonjour,

    Et sur le même principe, on peut faire, un truc du style :

    /* Vérification du logiciel utilisé */

    /////////////////////////////////////////////
    // on teste si la variable globale existe déjà
    if (typeof global.logicielouverturePDF == “undefined”)
        {
    // On teste si c’est le Reader ou Acrobat qui ouvre, sinon…
    if (app.viewerVariation différent “Reader” && différent “Acrobat”)
    ou ? if (app.viewerVariation == “”)
        {
    // Beep et alerte
    app.beep();
        app.alert(“Il est fortement conseillé de préférer Adobe Reader au logiciel que vous utilisez pour ouvrir les documents PDF. Télécharger gratuitement Adobe Reader : http://www.adobe.com/fr/products/acrobat/readstep2.html&#8221;, 3);
    en Unicode
        }
    // apres alerte on initialise la variable globale
        global.logicielouverturePDF = 1;
    }
    /////////////////////////////////////////////

    À affiner.  ;)

    Lionel

    #49872
    Merlin
    Maître des clés

    Reader et Acrobat sont les seuls logiciels détectables par JavaScript, les autres logiciels soit ne comprennent pas le JavaScript, soit ne répondent pas à un identifiant particulier…

    :joker:

    #49873
    Lionel
    Membre

    Bonjour,

    Reader et Acrobat sont les seuls logiciels détectables par JavaScript, les autres logiciels soit ne comprennent pas le JavaScript, soit ne répondent pas à un identifiant particulier…

    Je me posait justement la question de si
    if (app.viewerVariation == “”)
    fonctionnerait. Car, Là, il n’y a justement soit aucune réponse, soit aucun identifiant (du moins, si un jour cela viens, ce sera forcément différent de “Acrobat” ou de “Reader”)

    À bientôt. :bonjour:

    #49874
    Merlin
    Maître des clés

    Aucun autre logiciel lecteur de PDF ne lance de JavaScript à l’ouverture à ma connaissance, et la plupart ne savent même pas ce que c’est…

    :Interdit/Impossible:  😎

    #49875
    Lionel
    Membre

    Bonjour,

    Aucun autre logiciel lecteur de PDF ne lance de JavaScript à l’ouverture à ma connaissance, et la plupart ne savent même pas ce que c’est…

    :idee: Alors, c’est simple :
    Le message “Il est fortement conseillé de préférer Adobe Reader au logiciel que vous utilisez pour ouvrir les documents PDF. Télécharger gratuitement Adobe Reader : http://www.adobe.com/fr/products/acrobat/readstep2.ht&#8221; s’affiche systématiquement par défaut; sauf si le Reader ou Acrobat supprime cet affichage.  :ampoule: Là ça doit être faisable, non ?  :vert:

    Bien cordialement.  :bonjour:
    Lionel

    #49876
    Merlin
    Maître des clés

    Le plus simple c’est de faire exactement de la même façon qu’on fait pour les Porte-documents PDF d’Acrobat 9 : une page de garde (la 1re page) sur laquelle on place l’avertissement, et un JavaScript (ou une action de page) qui envoie sur la 2e page.

    Donc si c’est Reader ou Acrobat l’utilisateur ne voit pas (ou peu) l’avertissement, sinon l’utilisateur ne voit que ça…

    On peut également faire le lien vers un PDF en pièce jointe de la page d’accueil plutôt que vers la 2e page, ainsi il sera visible que dans Reader et Acrobat 6+. (Aperçu ne gère pas les pièces jointes, et les rares logiciels pour PC qui les gèrent ne l’afficheront de toute façon pas automatiquement).

    :extra:

    #49877
    Lionel
    Membre

    Bonjour,

    Bof, bof.
    J’en connais qui impriment systématiquement tout et cette page de garde serait du plus mauvais effet (à moins, et encore, de faire en sorte qu’elle ne s’imprime pas (ni qu’elle apparaissent dans les vignettes…). Bref, je préfère ma solution (un message qui s’affiche systématiquement, sauf si…).

    Bien cordialement.
    Lionel

    #49878
    Merlin
    Maître des clés

    De fait cela peut faire mauvais effet à l’impression, c’est pour ça que j’ai parlé de la technique de la pièce jointe.
    :extra:

    #49879
    Merlin
    Maître des clés

    A l’évidence je me suis trompé depuis le début, ça ce n’est pas bon :

    Code:
    if (app.viewerVariation == “Reader” && app.viewerVersion >= 7)

    Et ça c’est bon :

    Code:
    if (app.viewerVariation == “Reader” && app.viewerVersion

    Le n’était pas dans le bon sens…

    :siffle: :Ooops: :joker:

    #49880
    Lionel
    Membre

    Bonjour,

    Je l’ai rectifié dans le script original. Comme cela, si quelqu’un fait un copier / coller sans regarder la suite du sujet…

    Bien cordialement :bonjour:
    Lionel

  • Affichage de 29 réponses de 1 à 29 (sur un total de 29)
    • Vous devez être connecté pour répondre à ce sujet.