abracadabraPDF › Forums › PDF – Général › Détecter la langue du lecteur (Reader, Acrobat) dans un script JS › Répondre à : Détecter la langue du lecteur (Reader, Acrobat) dans un script JS

Un grand merci, grâce à toi je viens de découvrir les fonctions PDF de Scribus ainsi que la version pour Mac OSX !
Ce logiciel est extra !
Sinon, le problème vient du fait que tu fais exécuter le même code dans les deux boutons, donc les deux ont la même action.
Le script à l’ouverture n’est pas bon non plus car il ne gère que deux possibilités (FRA ou ENG) sans état par défaut.
On va partir du principe que l’état par défaut c’est ENG (Reader ou Acrobat en anglais), « par défaut » signifie que c’est celui qui vaudra aussi pour toutes les autres langues que le français (italien, espagnol, chinois, etc.).
L’état modificateur c’est FRA (Reader ou Acrobat en français), c’est donc celui que l’on va détecter pour adapter l’état des calques en fonction, sinon on reste sur l’état par défaut.
Donc dans Scribus on va définir l’état du calque ENG sur visible, et le calque FRA sur invisible (image jointe).
Le code pour le script à l’ouverture :
//il ne s’execute que si l’application est en francais
//inutile de détecter un autre langage
if (app.language == « FRA » )
{
var ocgs = this.getOCGs();
for (var i=0; i
for (var i=0; i
if (ocgs.name == « text_fr »)
ocgs.state = !ocgs.state;
if (ocgs.name == « fond »)
ocgs.state = !ocgs.state;
}
}
Code pour le bouton VF :
//car le bouton doit fonctionner dans tous les cas
var ocgs = this.getOCGs();
for (var i=0; i
ocgs.state = false;
for (var i=0; i
if (ocgs.name == « text_fr »)
ocgs.state = !ocgs.state;
if (ocgs.name == « fond »)
ocgs.state = !ocgs.state;
}
Code pour le bouton VE :
//car le bouton doit fonctionner dans tous les cas
var ocgs = this.getOCGs();
for (var i=0; i
ocgs.state = true;
for (var i=0; i
if (ocgs.name == « text_fr »)
ocgs.state = !ocgs.state;
if (ocgs.name == « fond »)
//ici on supprime la condition inverse (!) apres =
//pour le calque de fond
ocgs.state = ocgs.state;
}
:extra:
Lien vers le PDF qui fonctionne : https://acrobat.com/#d=Ph5oYk-a3iBDOtZkVnquHA
[attachment deleted by admin]