abracadabraPDF › Forums › PDF – Général › Vérifier la version du Reader à l’ouverture d’un document.
- Ce sujet est vide.
-
CréateurSujet
-
12 octobre 2008 à 22:57 #43667LionelMembre
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 -
CréateurSujet
-
AuteurRéponses
-
13 octobre 2008 à 01:24 #49852MerlinMaî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:
13 octobre 2008 à 21:41 #49853LionelMembreBonjour,
: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:
Lionel13 octobre 2008 à 22:36 #49854MerlinMaître des clésDans ce cas ça devient un jeu d’enfant, sauf que la version 7 est elle aussi déjà obsolète…
:soleil:
14 octobre 2008 à 05:42 #49855LionelMembreBonjour,
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.
14 octobre 2008 à 16:29 #49856MerlinMaître des clésJe 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:
14 octobre 2008 à 16:54 #49857LionelMembreBonjour,
Il faut donc tester si le numéro de version utilisée est inférieur ou égale à six.
À bientôt.
Lionel :bonjour:14 octobre 2008 à 20:57 #49858MerlinMaître des clésif (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:
14 octobre 2008 à 21:05 #49859LionelMembreBonjour,
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:
15 octobre 2008 à 09:48 #49860MerlinMaître des clésSouvent 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:15 octobre 2008 à 10:32 #49861LionelMembreBonjour,
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:
Lionel15 octobre 2008 à 11:32 #49862MerlinMaître des clésSur 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:15 octobre 2008 à 11:41 #49863LionelMembreBonjour,
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: Tu n’aurais pas aussi un script permettant de lui faire une mise à jour ? :soleil:Merci.
À bientôt.15 octobre 2008 à 18:30 #49864MerlinMaître des clésJe 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.
??:
15 octobre 2008 à 18:33 #49865MerlinMaître des clésElle n’arrête pas de vieillir ! 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:
15 octobre 2008 à 21:28 #49866LionelMembreBonjour,
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)@+
16 octobre 2008 à 09:26 #49867MerlinMaître des clésif (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]
17 octobre 2008 à 06:08 #49868LionelMembreBonjour,
Merci :merlin:.
Il existe une liste des commandes Javascript avec leur syntaxe et, surtout, l’explication de leurs fonctions en Français ?
Lionel :bonjour:
17 octobre 2008 à 10:45 #49869MerlinMaître des clésJavaScript 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:
18 octobre 2008 à 01:23 #49870MerlinMaître des clésEncore 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 <= 7)
{
// 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 commentaires18 octobre 2008 à 06:32 #49871LionelMembreBonjour,
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”, 3);
en Unicode
}
// apres alerte on initialise la variable globale
global.logicielouverturePDF = 1;
}
/////////////////////////////////////////////À affiner.
Lionel
18 octobre 2008 à 08:51 #49872MerlinMaître des clésReader 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:
18 octobre 2008 à 11:40 #49873LionelMembreBonjour,
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:
18 octobre 2008 à 12:35 #49874MerlinMaître des clésAucun 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: 😎
26 octobre 2008 à 07:02 #49875LionelMembreBonjour,
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” 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:
Lionel26 octobre 2008 à 14:57 #49876MerlinMaître des clésLe 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:
26 octobre 2008 à 22:14 #49877LionelMembreBonjour,
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.
Lionel27 octobre 2008 à 08:34 #49878MerlinMaître des clésDe 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:27 octobre 2008 à 16:03 #49879MerlinMaître des clésA 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 <= 7)Le < n’était pas dans le bon sens…
:siffle: :Ooops: :joker:
27 octobre 2008 à 16:30 #49880LionelMembreBonjour,
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:
LionelAuteurRéponsesAffichage de 29 réponses de 1 à 29 (sur un total de 29)- Vous devez être connecté pour répondre à ce sujet.