Donnez vie à vos documents numériques !
 

Merlin

Toutes mes réponses sur les forums

Affichage de 99 réponses de 1 à 99 (sur un total de 10,343)
  • Auteur
    Réponses
  • en réponse à : Action pour ouvrir une page web par script #75850
    Merlin
    Maître des clés

    “Je n’ai pas pdf expert mais pdf Xchange “

    Oups ! 😉

    en réponse à : Action pour ouvrir une page web par script #75836
    Merlin
    Maître des clés

    bebarth, PDF Expert gère nativement les boites de dialogue (AcroDialog).

    Michel va te mettre la misère.

    😉

    en réponse à : Calcul filetages #75821
    Merlin
    Maître des clés

    En ce moment je crée des regex pour identifier les NIF (Numéro d’Identification Fiscale) de plusieurs pays.

    Dire que je trouvais ça compliqué, ce n’est rien a côté des filetages !

    😉

    en réponse à : Applications mobiles #75816
    Merlin
    Maître des clés

    Pour installer des apps mobiles il faut soit passer par les stores de Google et d’Apple avec toutes contraintes que ça suppose (financières mais pas seulement, il y a aussi des contraintes techniques, de contenu, et de présentation dans le store).

    Soit il y a l’installation directe après déverrouillage du système de protection sur chaque appareil utilisateur, sans surprise c’est beaucoup plus simple à faire sur Android que sur iOS.

    en réponse à : Boite de dialogue #75748
    Merlin
    Maître des clés

    Bonjour

     

    Avec PDF Expert je ne sais pas mais avec Acrobat ça ne peut fonctionner que depuis un script d’application (placé dans le sous-dossier “JavaScripts” d’Acrobat, donc sur chaque poste utilisateur).

    Sécurité oblige.

    Pour le “h” entre HH et MM je crois que que un (ou deux) anti-slash devant le “h” devrait suffire.

    en réponse à : Action pour ouvrir une page web par script #75731
    Merlin
    Maître des clés

    “On trouve différentes expressions régulières sur internet qui correspondent à une url”

    Une des plus simples se trouve ici :

    GREP pour InDesign : détection d’URL

    En ce qui nous concerne ici, on peut même se passer des deux métacaractères finaux qui indiquent la fin d’un mot puisqu’on ne risque pas de trouver de ponctuation après.

    😉

    en réponse à : Action pour ouvrir une page web par script #75718
    Merlin
    Maître des clés

    Bonjour

     

    Il faut remplir la liste déroulante avec les intitulés (ou “Elément”, c’est ce qui est affiché à l’utilisateur) et les valeurs d’exportation (l’URL correspondante).

    Ensuite le bouton utilise la valeur d’exportation pour ouvrir le lien (via un navigateur).

    Code à utiliser dans le bouton (souris relâchée) :

    app.launchURL(this.getField("LISTE").value);

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Applications mobiles #75692
    Merlin
    Maître des clés

    Bonjour

     

    Je m’étais lancé dans la création d’applications mobiles en 2014, pour finallement tout arrêter en 2018.

    J’en ai gardé un mauvais souvenir car ça m’a couté cher, surtout pour iOS (140€/an rien que pour le droit d’inscription* à l’Apple Store), et ça ne m’a pas rapporté grand-chose. Mais je n’utilisais pas un langage de programmation, j’étais abonné à une plate-forme de création (un peu comme WordPress ou Drupal pour les sites web).

    Tout ça pour dire que je ne connais pas DART, mais je suppose que si ça a été fait par Google, a priori ça ne fonctionnera pas sur iOS (Apple).

    Et pour dire que j’ai constaté qu’il est en fait beaucoup plus facile et moins cher de faire des “web-app”. C’est à dire un site web dédié qui se présente comme une application mobile. La limite étant que, contrairement à une vraie app, ça ne fonctionne pas vraiment bien quand l’utilisateur est hors ligne, malgré les “mises en cache”.

    Donc sauf si on veut espionner tout ce que contient le smartphone de l’utilisateur ou faire une application de randonnées en montagne, de spéléologie ou de haute-mer, en général ça se passe bien.

     

    *Chez Google (Android) c’était 50€ à vie (une seule fois).

    en réponse à : Ajout d’un code #75687
    Merlin
    Maître des clés

    Bonjour

     

    Attention cependant car ça écrasera tout script de calcul pré-existant dans ces champs :

    for (var i = 0; i < 126; i++) {
    this.getField("Vol."+i).setAction("Calculate", "W(event.target.name.substr(4));");
    }

    en réponse à : Intégrer un dictaphone dans un PDF ? #75682
    Merlin
    Maître des clés

    Bonjour

     

    La réponse est oui, ça existe depuis bientôt 30 ans dans Acrobat.

    Il faut utiliser l’outil de commentaire “Enregistrer l’audio”, cependant attention au poids du fichier car, de mémoire, il me semble que les sons ainsi enregistrés sont peu ou pas compressés.

    S’agissant d’un “commentaire” il bénéficie des mêmes options de suivi et de classement que tous les autres outils de commentaire.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Script pour changer de Helvetica à Courier ? #75677
    Merlin
    Maître des clés

    Pour le corps automatique :

    f.textSize = "0";

     

    en réponse à : Script pour changer de Helvetica à Courier ? #75668
    Merlin
    Maître des clés

    Scusate, abbiamo approfittato della vostra assenza per deviare un po’ dall’argomento originale.

    Ecco un articolo sull’uso della Console JavaScript:

    La Console JavaScript d’Acrobat

    en réponse à : Sauvegarde prefixe date #75659
    Merlin
    Maître des clés

    Tu auras peut-être plus de chance avec ezPDF Reader, à ma connaissance c’est celui qui supporte le plus de fonctions JavaScript sur Android.

    https://play.google.com/store/search?q=ezPDF%20reader

    en réponse à : Sauvegarde prefixe date #75658
    Merlin
    Maître des clés

    Bonjour

     

    Quel logiciel utilises tu sur Android ?

    Une chose est certaine c’est qu’avec Acrobat Mobile ça ne fonctionnera pas, son support de JavaScript est beaucoup trop pauvre.

    en réponse à : Script pour changer de Helvetica à Courier ? #75652
    Merlin
    Maître des clés

    En résumé :

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Générer des nombres se trouvant dans une table commune #75649
    Merlin
    Maître des clés

    “je ne suis pas trop familier avec l’anglais”

    Dans les forums d’Adobe il y a un bouton “Traduire” sous chaque message 😉

    en réponse à : Script pour changer de Helvetica à Courier ? #75639
    Merlin
    Maître des clés

    Adobe a initié cette interface en 2021, elle est affichée par défaut depuis 2023, mais elle n’est toujours pas finalisée, certains outils ne fonctionnent toujours pas, et d’autres très mal (comme qui dirait, ils pédalent dans le yaourt).

     

    Le mieux c’est de commencer par là : Acrobat’s new interface is a disaster

    Et de continuer par :

    https://community.adobe.com/t5/acrobat-discussions/adobe-acrobat-pro-layout-is-different/m-p/14769830#M472836

    https://community.adobe.com/t5/acrobat-discussions/why-change-everything/m-p/14770316/page/2#M472876

    https://community.adobe.com/t5/acrobat-reader-discussions/stupid-interface-no-visible-way-to-find-document-properties/td-p/15049034

    https://community.adobe.com/t5/acrobat-discussions/stop-it-with-the-nonsense-redesigns/td-p/14946257

     

    Mais ce dont ils sont le plus fier c’est d’avoir inversé toute l’interface et d’avoir rendu nécessaires 2 ou 3 clics supplémentaires pour accéder à chaque fonction.

    en réponse à : Script pour changer de Helvetica à Courier ? #75637
    Merlin
    Maître des clés

    “C’est quoi cette nouvelle expérience ?”

    C’est la pire modification de l’interface d’Acrobat et de l’interface d’un logiciel professionnel qu’on ait jamais vu.

    Je n’en dirai pas plus car je serai tenté de devenir grossier.

    😉

    en réponse à : Script pour changer de Helvetica à Courier ? #75635
    Merlin
    Maître des clés

    “En fait, j’ai remarquer que le fichier aT-ProprietesChamp.js n’est pas dans l’installateur d’AbracadabraTools2020 mais seulement dans la version 2019”

    Oups !

    Il va falloir que je vérifie ça, de toute façon j’ai prévu une mise à jour pour bientôt car pour l’heure ils ne sont pas compatibles avec la “nouvelle expérience” de l’interface d’Acrobat.

    en réponse à : Supprimer une action #75620
    Merlin
    Maître des clés

    Précision : pour le(s) script(s) de document il faut connaitre son(leurs) nom(s) pour les écraser.

    Ci-dessus c’est “init” parce-que je met tous mes scripts ensemble, sous ce nom que j’utilise toujours. Mais ça peut varier en fonction des habitudes de chacun.

    en réponse à : Supprimer une action #75619
    Merlin
    Maître des clés

    Oui, c’est un peu bête mais les machines s’en moquent pas mal, elles n’ont aucun sens du correct ou de l’esthétisme.

    Et comme disait Arnaud Amalric, abbé de Cîteaux, pendant la croisade contre les albigeois :

    “Scriptez les tous, Dieu reconnaitra les siens”.

    🙂

    en réponse à : Supprimer une action #75617
    Merlin
    Maître des clés

    PS : le script ci-dessus ne génère pas d’erreurs bien qu’il s’applique à tous les champs, quel que soit leur type.

    Par exemple, ce n’est pas parce-que l’interface d’Acrobat ne propose pas de “Format” ou de “Validation” pour les boutons qu’ils ne peuvent pas avoir un script de Format ou de Validation. Rien n’empêche de le faire avec JavaScript.

    Donc je ne me casse pas la tête à détecter le type de champ avant de nettoyer les scripts. J’utilise la méthode “brutale”.

    en réponse à : Supprimer une action #75615
    Merlin
    Maître des clés

    Bonjour

     

    Oui et non.

    Acrobat a un comportement curieux, si on remplace un script par rien ça ne fonctionne pas toujours.

    Alors quand je veux “nettoyer” un document je remplace les scripts par un double-slash, ce n’est pas rien mais c’est comme rien, et ça fonctionne à tous les coups :

    for (var i = 0; i < this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    oFld.readonly = true; // verrouiler les champs
    oFld.setAction("Format", "//");
    oFld.setAction("Keystroke", "//");
    oFld.setAction("Calculate", "//");
    oFld.setAction("Validate", "//");
    oFld.setAction("MouseExit", "//");
    oFld.setAction("MouseEnter", "//");
    oFld.setAction("MouseUp", "//");
    oFld.setAction("MouseDown", "//");
    oFld.setAction("OnBlur", "//");
    oFld.setAction("OnFocus", "//");
    }

    this.setAction("WillSave", "//"); // actions de document
    this.setAction("WillPrint", "//");
    this.setAction("DidSave", "//");
    this.setAction("DidPrint", "//");
    this.setAction("WillClose", "//");

    this.addScript("init", "//"); // script de document

    en réponse à : Script pour changer de Helvetica à Courier ? #75612
    Merlin
    Maître des clés

    Bonjour

     

    Si c’est à faire dans des champs de formulaire la réponse est oui.

    Sinon c’est non.

    en réponse à : Générer des nombres se trouvant dans une table commune #75607
    Merlin
    Maître des clés

    “Pourtant avec ce fichier, ça fonctionne (il vient d’un ancien fil de discussion, d’ou mon event.commitKey = 13)”

    En fait, si on va voir dans le sujet mentionné par Michel, on s’aperçoit que c’est lui qui a proposé ce bout de script.

    Nous avons été deux à lui demander pourquoi “13”, mais il n’a pas répondu.

    😉

    en réponse à : Générer des nombres se trouvant dans une table commune #75605
    Merlin
    Maître des clés

    “Il faut utiliser “2”, pas “13”.”

    Je mange mon chapeau, la réponse de ChatGPT (qui, comme Googol, ne considère le JavaScript que par rapport aux navigateurs web, d’où le point n°2 qui n’est pas vrai dans ce qui nous intéresse)  :

    En JavaScript, l’instruction :

    event.commitKey = 13;

    semble vouloir assigner la valeur 13 à une propriété commitKey de l’objet event.

    Explication :

    1. event : Généralement, c’est un objet représentant un événement (ex : keydown, click, etc.).
    2. commitKey : Ce n’est pas une propriété standard des objets event. Cela signifie qu’elle a été ajoutée dynamiquement.
    3. Valeur 13 : Ce nombre correspond au code ASCII/Unicode de la touche Entrée (Enter).
    en réponse à : Générer des nombres se trouvant dans une table commune #75598
    Merlin
    Maître des clés

    Chez moi ce fichier fonctionne correctement.

    Par contre tu devrais gérer le paramètre nIcon dans les alertes, car “OK” s’affiche à côté de l’icône d’erreur (icône par défaut), ce qui est un peu perturbant.

    L’icône Status conviendrait mieux.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Générer des nombres se trouvant dans une table commune #75587
    Merlin
    Maître des clés

    Oui, il faut absolument que je prenne l’habitude de rafraichir ma page avant de répondre, surtout quand elle est affichée depuis la veille.

    😉

    en réponse à : Générer des nombres se trouvant dans une table commune #75584
    Merlin
    Maître des clés

    Bonjour

     

    Tu pourrais utiliser commitKey pour détecter l’usage de cette touche, mais :

    • Il faut utiliser “2”, pas “13”.
    • Çe ne détecte que la touche Entrée, pas la touche Retour.
    • Il faudrait l’utiliser en fonction dans tous les champs de saisie car cet évènement est détecté lors de la perte du focus (onBlur) par un champ, et non pas seulement quand on utilise ladite touche.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Exportation des données #75580
    Merlin
    Maître des clés

    Bonjour

     

    On ne peut pas exporter les données directement en XLSX, Adobe a préféré utilisé un format ouvert.

    Cependant il suffit d’ouvrir le CSV exporté avec Excel ou LibreOffice et de l’enregistrer (sous) au format XLSX.

    en réponse à : Calcul d’un pourcentage mais pas que… #75569
    Merlin
    Maître des clés

    Bonjour

     

    Nul besoin de se casser la tête avec des kilomètres de JavaScript, il suffit de créer un troisième champ (masqué) contenant la valeur maximum de G et de D, et de partir de la valeur qu’il contient.

    (Image jointe)

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Changement de couleur dans champ #75564
    Merlin
    Maître des clés

    Apparement ton problème vient des guillemets, JavaScript ne supporte que les guillemets droits, tous les autres sont à bannir.

    "blablabla"

    en réponse à : Changement de couleur dans champ #75560
    Merlin
    Maître des clés

    Oui, en utilisant une fonction.

    Par exemple :

    function styl1(A) {
    A.strokeColor = color.red;
    A.textColor = color.red;
    A.textSize = 12;
    }

    styl1(this.getField("Text1"));

     

    On peut bien entendu aussi mettre le nom du champ en variable.

    en réponse à : Générer des nombres se trouvant dans une table commune #75554
    Merlin
    Maître des clés

    “Je crois même qu’on apprend ça en fin de primaire…”

    C’est te dire pendant combien de temps j’en ai cauchemardé…

    🙂

    en réponse à : Changement de couleur dans champ #75552
    Merlin
    Maître des clés

    Tu devrais mettre les accolades, on est d’accord que quand il n’y a qu’une seule ligne d’instruction elles ne servent à rien mais c’est une bonne pratique et une habitude à prendre.

     

    Pour la couleur c’est simple, il faut choisir une couleur dans un logiciel quelconque et aller dans l’éditeur de couleur/couleur personnalisée pour noter ses trois valeurs RGB (red, green, blue = rouge, vert, bleu).

    Ensuite il faut remplacer les trois nombres dans cette partie du script , exemple pour le rouge abracadabraPDF :

    = [“RGB”, 163/255, 0/255, 0/255];

     

    Si cette couleur est utilisée plusieurs fois on a tout intérêt à la mettre en variable :

    var coulPerso = [“RGB”, 163/255, 0/255, 0/255];

     

    else if(champimc >= 30) {event.target.textColor = coulPerso;}

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Changement de couleur dans champ #75548
    Merlin
    Maître des clés

    Pourquoi ?

    en réponse à : Générer des nombres se trouvant dans une table commune #75543
    Merlin
    Maître des clés

    Le PGCD et le PPCM, mes cauchemars de collégien !

    😉

    en réponse à : Changement de couleur dans champ #75541
    Merlin
    Maître des clés

    Exemple ci-joint, le script est dans l’onglet Calcul, mais on peut aussi le mettre en Validation.

    (C’est l’un ou l’autre, pas dans les deux)

    if (event.value >= 4) {event.target.textColor = color.red;}
    else {event.target.textColor = color.black;}

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Script pour corriger une date #75532
    Merlin
    Maître des clés

    Waow !

    en réponse à : Raccourcir un script #75531
    Merlin
    Maître des clés

    Je ne sais pas de quand date l’interdiction de “SS”.

    (Joker)

    Mais je me souviens que mon père a eu une voiture immatriculéee “QQ”, et qu’il s’est fait chambrer plus d’une fois.

    😉

    en réponse à : Générer des nombres se trouvant dans une table commune #75524
    Merlin
    Maître des clés

    Bonjour

     

    Je te propose encore la méthode “brutale” : si ça ne correspond pas on recommence !

    var Nb1=(Math.floor(Math.random()*99))+1;
    if (Nb1 < Nb1Min || Nb1 > Nb1Max) {var Nb1=(Math.floor(Math.random()*99))+1;}

    var Nb2=(Math.floor(Math.random()*99))+1;
    if (Nb2 < Nb2Min || Nb2 > Nb2Max) {var Nb2=(Math.floor(Math.random()*99))+1;}

    en réponse à : Raccourcir un script #75521
    Merlin
    Maître des clés

    🙂

    en réponse à : Comment compter un nombre de cases à cocher ? #75519
    Merlin
    Maître des clés

    Bonjour

     

    Le truc c’est d’attribuer aux cases à cocher (qui dans l’exemple sont en fait des boutons-radio) comme choix/valeur d’exportation des zéros et des uns pour pouvoir utiliser la fonction de calcul intégrée aux champ de texte.

    J’ai utilisé la “Convention de dénomination des champs de formulaire” (voir : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/) pour additionner plus facilement le total des boutons-radio dans le champ Score.

    Car ainsi il n’y a que le champ “parent” à cocher dans les champs à additionner, au lieu de devoir tout cocher un par un.

    Exemple ci-joint.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Raccourcir un script #75512
    Merlin
    Maître des clés

    Sur les plaques d’immatriculation il y a une lettre interdite dans les paires O-Q et U-V pour raison de lisibilité, je ne sais plus lesquelles.

    Par contre ce qui est interdit partout, y compris sur les plaques d’immatriculation c’est “SS”.

    Mais s’agissant de trios de lettres, SS ne sera jamais seul, donc ça devrait passer.

    (Et du coup je m’aperçois que ci-dessus j’ai oublié SUS 🙂 )

    en réponse à : Raccourcir un script #75510
    Merlin
    Maître des clés

    Je croyais que la liste que tu as donné était juste un exemple, parce qu’il en manque :

    LFI, SS, SA, NIK, CON, CUL, PUT, BIT, TEB, FDP, LOL… et on pourrait certainement en trouver encore plus.

    Si tu veux vraiment faire de la censure il ne te restera plus beaucoup de lettres à disposition, auquel cas il vaudrait peut être mieux utiliser l’alphabet Grec.

    Personellement je suis contre la censure, et puis ça égaiera certainement les cours.

    😉

    en réponse à : Raccourcir un script #75494
    Merlin
    Maître des clés

    Je ne me suis pas posé toutes ces questions, mon script est “brutal” : si une des conditions interdites est remplie il recommence au départ. Autant de fois que nécessaire.

    en réponse à : Ajout de line de code avec JavaScript #75493
    Merlin
    Maître des clés

    Oui, mais comment sont nommées ces listes déroulantes ?

    en réponse à : Raccourcir un script #75481
    Merlin
    Maître des clés

    Du coup j’ai testé avec Foxit Reader, la génération aléatoire des caractères y fonctionne bien.

    Par contre comme on ne peut pas activer la console dans la version Reader je ne sais pas si le bouton démarrer y déclenche aussi une erreur.

    en réponse à : Script pour corriger une date #75478
    Merlin
    Maître des clés

    Bonjour

     

    C’est possible si l’utilisateur saisit “1.2.2025”, s’il ne saisit pas l’année en entier ça retourne une erreur (alerte de format).

    Dans le ci-joint, clique dans le champ pour voir ce qui a été saisi.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Raccourcir un script #75476
    Merlin
    Maître des clés

    Beau boulot !

    Mais quand je teste, la console affiche une erreur chaque fois que je clique sur le bouton “Démarrer”.

    Et comme les scripts de document sont fragmentés impossible de savoir d’où vient la “ligne 17” en question.

     

    J’ai testé plusieurs fois et ce sont toujours les mêmes lettres “SKX” qui s’affichent dans le document, quelles que soient les valeurs de “pointsABC”.

    (Capture jointe)

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Raccourcir un script #75469
    Merlin
    Maître des clés

    Essaye ça (chez moi ça fonctionne), l’idée c’est ce qu’il y a un doublon ou une association interdite on relance la fonction :

    function generLettres() {

    function generateRandomLetter() {
    var randomValue = Math.random();
    var randomCode = 65 + Math.floor(randomValue * 26);
    return String.fromCharCode(randomCode);
    }

    var pointA = generateRandomLetter();
    var pointB = generateRandomLetter();
    var pointC = generateRandomLetter();
    var str = pointA + pointB + pointC;

    console.println("pointsABC: " + pointA + pointB + pointC);

    if (pointA === pointB || pointA === pointC || pointB === pointC) {generLettres();} // dédoublonage

    else if ((/PS|PC|FN|RN|FO|LR|PD|PQ|WC|GPT|PT/.test(str))) {generLettres();} // associations interdites

    }

    generLettres();

    en réponse à : Raccourcir un script #75466
    Merlin
    Maître des clés

    Bonjour

     

    Je ne suis pas certain d’avoir tout compris mais a priori à partir du moment où on affecte une valeur (lettre) aléatoire à pointA, pointB et pointC on se fiche pas mal de la valeur de “points” puisqu’elle n’y change rien.

     

    Ce qui nous donnerait :

    function generateRandomLetter() {
    var randomValue = Math.random();
    var randomCode = 65 + Math.floor(randomValue * 26);
    return String.fromCharCode(randomCode);
    }

    var pointA = generateRandomLetter();
    var pointB = generateRandomLetter();
    var pointC = generateRandomLetter();

    console.println(pointA + pointB + pointC);

     

    On pourrait ensuite détecter les paires interdites mais dis moi d’abord si ça convient.

    en réponse à : Renommer indice 2 #75459
    Merlin
    Maître des clés

    Salut

    Programmatiquement il est impossible de savoir si un champ contient des scripts.

    en réponse à : Ajout de line de code avec JavaScript #75450
    Merlin
    Maître des clés

    “je ne comprend pas quel problème vous soulevez”

    Le truc c’est que quand on utilise un script pour ajouter un script (de document ou d’objet) il faut que le script ajouté soit sous forme d’une chaîne de caractères (string), sans contenir de guillemets ni de caractères spéciaux qui pourrait la segmenter. Et donc rendre le script ajouté inutilisable.

    Quand c’est un simple script d’une ou deux lignes, pas de souci. Mais quand c’est plus complexe il faut y faire attention.

    en réponse à : Ajout de line de code avec JavaScript #75449
    Merlin
    Maître des clés

    babarth, dans ton document je crois que c’est “Texte converti avec caractères d’échappement pour les guillemets,” qui est le mieux.

    Avec le même script de départ voilà ce que ça donne avec l’utilitaire de Thom Parker, qui ajoute aussi les tabulations et les sauts de lignes mais en fait ça ne sert à rien car les machines n’en tiennent pas compte de toute façon. Au mieux ça ne sert qu’aux humains qui veulent ensuite faire l’opération inverse.

    "if (event.target.buttonGetCaption()==\"Montrer\") {\r\n\tthis.viewState={overViewMode:7};\r\n\tevent.target.buttonSetCaption(\"Cacher\");\r\n} else {\r\n\tthis.viewState={overViewMode:0};\r\n\tevent.target.buttonSetCaption(\"Montrer\");\r\n}"

    en réponse à : Ajout de line de code avec JavaScript #75443
    Merlin
    Maître des clés

    Bonjour

     

    Il faut que tu utilises un utilitaire pour convertir le script JavaScript en texte (une seule chaine de caractères), par exemple :

     

    en réponse à : Migration vers Acrobat DC #75437
    Merlin
    Maître des clés

    Je te conseille de revenir à l’ancienne interface !

    Suis le lien ci-dessous, c’est le message le plus posté, en anglais et en français, sur le forum d’Adobe ces trois dernières années :  😉

    Essayez de revenir à l’interface utilisateur classique : https://community.adobe.com/t5/acrobat-discussions/acrobat-2023-how-to-revert-to-classic-gui-user-interface/td-p/14052807

    Considérez le « nouvel Acrobat » comme une version bêta, de nombreuses fonctionnalités sont encore manquantes ou à moitié implémentées.

    en réponse à : Vérification et tri #75428
    Merlin
    Maître des clés

    Bravo, beau boulot mais cette erreur s’affiche à l’ouverture du PDF :

    TypeError: event.target.name is undefined
    12:Document-Level:init

     

    Et je crois qu’il y a un problème dans la colonne “Groupe” (image jointe)

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Migration vers Acrobat DC #75424
    Merlin
    Maître des clés

    En fait il n’y a qu’un seul Acrobat qu’on puisse installer.

    Après s’être identifié dans le logiciel Creative Cloud avec son Adobe ID on obtient Acrobat Reader si on a un abonnement gratuit, ou bien on obtient Acrobat Pro si on a l’abonnement adéquat (ou Acrobat Standard).

    C’est un seul et même logiciel qui déverrouile des fonctionnalités en fonction de l’abonnement correspondant à l’Adobe ID.

    en réponse à : Migration vers Acrobat DC #75420
    Merlin
    Maître des clés

    Tu vas dans l’onglet Applications, tu trouves Acrobat et tu cliques sur Installer.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Vérification et tri #75418
    Merlin
    Maître des clés

    bebarth = ce type est top !

    en réponse à : Vérification et tri #75410
    Merlin
    Maître des clés

    Salut

     

    C’est typiquement une question pour bebarth, les array c’est mon cauchemar !

    en réponse à : Migration vers Acrobat DC #75406
    Merlin
    Maître des clés

    🙂

    en réponse à : Restreindre/Permettre l’impression #75404
    Merlin
    Maître des clés

    Si c’est pour le 1er avril n’hésites pas à mettre un champ image, avec un poisson.

    🙂

    en réponse à : Migration vers Acrobat DC #75403
    Merlin
    Maître des clés

    A priori c’est une ancienne version.

    Vérifie son numéro dans le menu Aide : A propos d’Acrobat

    en réponse à : Migration vers Acrobat DC #75401
    Merlin
    Maître des clés

    Bonjour

     

    Les spécifications des champs (Date y compris) dépendent des spécification du PDF (alias norme ISO-32000) pas des développeurs d’Acrobat.

    Donc ils n’ont pas changés depuis Acrobat X, pour avoir un champ Date il faut aller dans Format : Date.

    Leur particularité (par rapport aux listes par exemple) c’est qu’il faut cliquer dedans pour voir apparaitre le bouton et le calendrier.

     

    PS : “Adobe X” et DC Pro” n’existent pas.

    Il existe trois versions d’Adobe Acrobat pour Mac et PC (le suffixe DC a été supprimé il y a plus de deux ans) :

    Adobe Acrobat Pro
    Adobe Acrobat Standard
    Adobe Acrobat Reader (gratuit, également disponible pour iOS et Android).

    Mal nommer les choses c’est ajouter au malheur du monde (Camus).

    en réponse à : Restreindre/Permettre l’impression #75396
    Merlin
    Maître des clés

    Bonjour

     

    Je ne connais pas AEM, par-contre faute de pouvoir interdire l’impression, avec JavaScript on peut l’empêcher via les évènements “Document will print” (sera imprimé) et “Document did print” (a été imprimé).

    Par exemple en affichant un calque blanc ou un champ blanc qui recouvre toutes les pages ou bien en faisant apparaitre un filigrane (watermark) avec l’évènement “Document will print” et en le faisant disparaitre en “Document did print”.

    Bien entendu la politesse voudrait qu’une alerte soit ajoutée en “Document will print” pour avertir l’utilisateur qu’il n’obtiendra que des pages vierges. C’est toujours plus user-friendly.

    Une fois le document validé il suffit de supprimer les scripts dans ces évènements.

     

    Le calque ou les champs blanc c’est pour éviter le gaspillage de papier et d’encre si l’utilisateur persiste, mais si on veut être perfide on peut les remplir en noir ou avec plein de couleurs…  😉

    en réponse à : Formater formulaire pour exploitation avec Excel #75393
    Merlin
    Maître des clés

    “personne ne possède la version Adobe, ils n’ont que Reader”

    Il existe trois versions d’Adobe Acrobat pour Mac et PC :

    • Adobe Acrobat Pro
    • Adobe Acrobat Standard
    • Adobe Acrobat Reader (gratuit, également disponible pour iOS et Android).

    Mal nommer les choses c’est ajouter au malheur du monde (Camus).

    en réponse à : Formater formulaire pour exploitation avec Excel #75392
    Merlin
    Maître des clés

    Bonjour

     

    Pour intégrer des photos, si j’en crois ton document d’exemple tu as bien compris comment faire.

    Par-contre le problème c’est de les récupérer par la suite, c’est quasiment impossible car il faut passer par des solutions tortueuses, peu pratiques et donc pas du tout productives (et il faut Acrobat Pro).

     

    Pour l’ajout de commentaires c’est plus simple, il faut utiliser des pages modèles masquées que l’utilisateur peut afficher via un bouton. Ça fonctionne très bien avec Acrobat Reader ou Foxit Reader.

    Exemples et explications : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/dupliquer-dynamiquement-des-pages-dans-un-pdf/

    Tu peux aussi chercher “pages modèles” ou “page template” sur ce forum.

     

     

    en réponse à : Effet au survol d’un champ #75389
    Merlin
    Maître des clés

    Quand une commande est suivie de deux parenthèses c’est une fonction :

    resetForms()

    afficheContour()

     

    Certaines, comme la première ci-dessus, sont intégrées d’origine dans Acrobat (en script d’application dans le fichier “JSByteCode” qui est placé dans le dossier JavaScripts”), et les autres sont des fonctions personnalisées qui peuvent être placées soit en script d’application soit en script de document.

     

    L’intérêt d’utiliser une fonction c’est de ne pas avoir à répéter le même code dans plusieurs champs ou à plusieurs endroits dans le document, et d’avoir un code qui s’exécute plus rapidemment car il est préchargé au lancement de l’application ou à l’ouverture du document.

     

    Ça permet aussi de regrouper tous les scripts, ce qui facilite beaucoup la maintenance.

    en réponse à : Effet au survol d’un champ #75382
    Merlin
    Maître des clés

    Bonjour

     

    Si j’en crois le nom des fonctions qui sont dans le champ utilisé dans ton exemple ce document vient de chez moi. Il aurait fallu copier aussi les fonctions.

    Mais il n’y a pas nécessairement besoin d’utiliser des fonctions.

    Exemple ci-joint.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Formater formulaire pour exploitation avec Excel #75366
    Merlin
    Maître des clés

    Bonjour et bonne année

     

    Quand on intègre les données d’un ou plusieurs formulaires dans un fichier Réponses et qu’on exporte ensuite en CSV on obtient les données dans les cellules, les noms des champs sont en tête des colonnes.

    Si on exporte les données en FDF depuis chaque formulaire individuellement on obtient aussi les noms des champs, mais on ne peut pas les concaténer facilement.

     

    Dans la maquette jointe je ne récupère que le chemin des fichiers, et leur dates de création, mais aucun champ.

    Qu’est-ce que tu veux dire par “récupérer”, que fais tu exactement ?

    en réponse à : Scripts de document #75365
    Merlin
    Maître des clés

    Bonjour et bonne année

     

    Je ne crois pas que ça change quelque chose point de vue vitesse d’exécution ou de chargement, mais je préfère tout mettre dans un seul script dans un seul fichier .JS, sauf quand il y a des images/icônes que je met à part car sinon on atteint vite la limite de 32000 caractères de l’éditeur d’Acrobat.

     

    Je travaille en faisant des copier-coller depuis Notepad++, donc en une seule fois je met tout à jour.

    Ca me permet d’avoir une vue globale de tous les scripts du document et donc de toutes les erreurs possibles. Par exemple quand je sélectionne un nom de variable ou n’importe quel mot, toutes ses occurrences sont mises en surbrillance, ce qui permet de les repérer facilement dans tous les scripts et toutes les fonctions.

    C’est plus simple quand il faut minifier le script parce que je place toutes les variables en tête des scripts, donc je peux minifier seulement le code en un seul copier-coller. Parce-que quand on minifie le texte des variables (messages d’alerte…) les caractères Unicode redeviennent des caractères accentués/spéciaux de base, ce qui pose l’éternel problème Mac/PC.

    Ca permet aussi au client de pouvoir les modifier facilement sans chercher (s’il a le niveau).

    Et ainsi j’ai un seul fichier .JS en regard de chaque PDF (et avec le même nom), ça simplifie beaucoup la maintenance. Même si en vrai j’ai plutôt deux fichiers .JS : l’original bien détaillé et bien commenté, et la version minifiée incorporée dans le document final. Mais cette dernière n’est crée que quand tout est fini et testé, je ne la réutilise que rarement.

     

    en réponse à : Renommer indices #75337
    Merlin
    Maître des clés

    Je n’ai pas trop de temps en ce moment car comme d’habitude tous les clients ont des urgences avant les vacances.

    J’essaierai de trouver un peu de temps ce weekend.

    En tout cas j’ai regardé ta vidéo et l’interface de PDF Expert m’a fait baver, tout est disponible directement à un seul clic dans le panneau des propriétés. Ça change d’Acrobat et de son interface des années 90 qui impose d’ouvrir plusieurs boites pour modifier une propriété !

     

    “S’il faut passer par un hébergeur, par lequel dois-je passer?”

    Voir : https://www.abracadabrapdf.net/forums/topic/envoyer-partager-poster-une-piece-jointe-volumineuse/

     

     

    en réponse à : Renommer indices #75321
    Merlin
    Maître des clés

    Michel C. très franchement j’admire ce que tu fais, à double titre.

    D’une part le côté apprentissage technique du PDF-JavaScript et ses à cotés, et d’autre part la passion pédagogique et le cœur que tu mets à transmettre le savoir à tes élèves en utilisant des technologies qui les intéressent*.

    Bravo et joyeuses fêtes (sans élèves).

     

    *J’imagine que parmi tes élèves il y a un groupe de petits malins qui cherchent à cracker tes documents, si ça trouve il y en a d’inscrits sur ce forum ! 😉

    en réponse à : Renommer indices #75320
    Merlin
    Maître des clés

    Dans renommer_champs_v01.pdf il n’y a pas de champs à renommer, et exercice_interactif-ok.pdf n’a pas été transféré car trop lourd.

    Du coup on ne peut pas tester.

    🙁

    en réponse à : Gestion multicalque sur iPhone #75317
    Merlin
    Maître des clés

    Bonjour

     

    Non, je ne crois pas.

    Sur les machines Apple il faudrait essayer avec PDF Expert, mais c’est une app payante.

    en réponse à : Custom Tool – avec multiples niveaux #75316
    Merlin
    Maître des clés

    “@Merlin – Tu peux m’envoyer que aT-CompteurMots.js ou aT-NouveauDoc.js.”

    Ayé !

    en réponse à : Custom Tool – avec multiples niveaux #75310
    Merlin
    Maître des clés

    Bonjour

    Pareil, je peux t’envoyer les abracadabraTools en version originale (non minifiée).

    Chaque plugin est indépendant, donc il vérifie d’abord la présence du menu “abracadabraTools”. S’il n’existe pas déjà il le crée, sinon il s’y intègre.

    en réponse à : Renommer indices #75299
    Merlin
    Maître des clés

    J’ai passé un bon moment à chercher… et il me semblait bien qu’il y avait comme une évidence que je ne voyais pas !

    😉

    en réponse à : Renommer indices #75291
    Merlin
    Maître des clés

    Je n’ai pas le temps de tout bien vérifier mais a priori le problème vient du nom des champs (this.getField(“Name.3.1”) et this.getField(“Name.3.2”)) qui sont utilisés dans le script en nom absolu.

    Comme ils rentrent dans la boucle leur nom est modifié pendant l’exécution de celle-ci et ça provoque des incohérences.

    Ça l’est moins quand on utilise P1 mais c’est flagrant quand on utilise P2, le retour de la Console est sans appel :

    TypeError: this.getField(…) is null
    12:Document-Level:Renommer_c

    (dans “Test-4.pdf”, ligne 12 du script sans commentaire, ou ligne 15 du script commenté, voir capture)

    Il faut donc soit les exclure de la boucle, soit modifier leurs noms de sorte qu’ils ne rentrent pas dans la boucle.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : FindChangeList.txt et AppleScript #75289
    Merlin
    Maître des clés

    Bonjour

     

    J’ai placé cette question dans un nouveau sujet pour plus de clarté.

    Pour répondre à la question : je n’ai jamais utilisé FindChangeList.txt avec AppleScript, seulement avec les scripts JavaScript (.jsx).

    Tout ce que je peux te dire c’est que le fichier FindChangeList.txt doit être placé dans le dossier FindChangeSupport qui se trouve au même niveau que le fichier FindChangeByList.jsx

    A priori ça devrait être pareil pour les scripts AppleScript.

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Renommer indices #75282
    Merlin
    Maître des clés

    “Il y a un truc que je ne comprend pas. Mon script fonctionne mais il y a toujours un champ qui n’est pas renommé…”

    Il est toujours très difficile d’examiner des scripts non commentés, même quand on sait ce qu’ils sont supposés faire.

    J’y jetterai un deuxième regard demain à tête reposée.

    en réponse à : Renommer indices #75280
    Merlin
    Maître des clés

    “Par contre mon script ne fonctionne pas quand je souhaite “modifier” la partie 2 P2. J’ai une erreur à la ligne 28…”

    Vu le dernier exemple je crois que tu as compris l’erreur entre nom du script (qui importe peu) et nom de la fonction.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Utiliser FindChangeList dans un document bilingue. #75279
    Merlin
    Maître des clés

    Bonjour

     

    Non hélas, ni ses instructions (dont je suis l’auteur) ni ce script (fourni par Adobe) ne permettent de rechercher dans un style de paragraphe en particulier.

    Tu pourrais peut-être trouver ton bonheur en utilisant ce script : Record Find Change

     

    en réponse à : Afficher-masquer un calque ou une page #75272
    Merlin
    Maître des clés

    “un nouveau problème rien ne fonctionne sur les mobiles !!!!!!!!!! une idée pourquoi ? c’est des simples boutons …”

    En fait ce n’est pas nouveau, hélas.

    Le support de JavaScript sur les mobiles est très très limité. Pour te donner une idée la documentation JavaScript d’Acrobat fait plus de 800 pages, celle d’Acrobat Mobile à peine une soixantaine.

     

    “la personne qui m’a répondu est un des dirigeants d’une banque privée.”

    Je travaille beaucoup avec les banques, suffisamment pour savoir que en général les postes sont équipés d’Acrobat Reader mais que le plus souvent l’utilisation de JavaScript est désactivée par le service informatique. Sécurité oblige.

     

    “Le but est de faire du visuel et d’impressionner”

    Dans ce cas le plus simple est d’utiliser InDesign, de faire des animations qui déchirent avec ses fonctions intégrées et/ou avec Express, de publier en ligne avec Publish On Line et de mettre un lien sur ton CV.

    Le PDF a beaucoup de qualités (ce n’est pas moi qui dirait le contraire) mais en version interactive ce n’est pas un format diffusable de façon fiable.

    Exemple que j’ai réalisé : https://indd.adobe.com/view/2a8f6f46-a53c-4fd4-851e-db3a5d906f6b

    Exemple réalisé par JCTremblay : https://indd.adobe.com/view/16a62004-694d-442a-9650-000a6dd4d241

    Et voir plus généralement : https://indd.adobe.com/view/c2c7aa96-405e-488f-8902-e1d96c1bea4f

    en réponse à : Renommer indices #75271
    Merlin
    Maître des clés

    Sinon fais moi passer ton document, avec Acrobat j’en aurai pour 2 minutes.

    en réponse à : Renommer indices #75255
    Merlin
    Maître des clés

    “Je voulais renommer 30 champs : “Q.7.1” à “Q.7.30” qui se seraient appelés : “R.7.1″ à R.7.30”.”

    Il y a beaucoup plus simple qu’un script, c’est une astuce bien cachée dans Acrobat (je ne sais pas pour PDF Expert).

    Dans le panneau des champs il faut d’abord cliquer sur le bouton AZ pour afficher les champs dans l’ordre alphabétique.

    À partir de là il apparaissent sous forme d’une arborescence qu’on déplie en cliquant sur les flèches, ce sont les points dans les noms qui séparent chaque niveau.

    Il faut juste savoir qu’il suffit de double-cliquer sur un nom pour pouvoir renommer, on peut renommer la racine ou n’importe quel niveau en deux secondes. 😉

     

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Afficher-masquer un calque ou une page #75254
    Merlin
    Maître des clés

    “D’après plusieurs pro dans le domaine 3 minutes pour un CV “

    Compte plutôt entre 10 et 20 secondes.

    Il est généralement plus judicieux de présenter un CV “normal” et d’y mettre des liens vers les documents interactifs que tu veux présenter, ainsi s’il retient l’attention le recruteur prendra le temps d’aller voir.

     

    “je ne sais pas supprimer des calques”

    Acrobat est retors : il faut d’abord masquer le calque à supprimer et ensuite soit aplatir tous les calques soit le fusionner avec un autre, ce qui le fait disparaitre.

     

    “la lecture des vidéos n’est pas activé par defaut”

    Si Acrobat pouvait déjà juste lire les vidéos se serait bien, depuis la dernière mise à jour ça ne fonctionne plus !

    en réponse à : Afficher-masquer un calque ou une page #75247
    Merlin
    Maître des clés

    Bonjour

    L’expérience montre que la plupart des gens (et des recruteurs) affichent les PDF dans le logiciel par défaut (Aperçu sur Mac, Edge sur Windows, et “Pourave” sur mobile).

    Donc pour qu’un CV soit lu et retenu il faut aller au plus simple pour être efficace.

    En clair : zéro interactivité, parce qu’en plus s’ils comprennent que quelque chose ne fonctionne pas dans certains cas ce sera forcément de ta faute et à cause de ton “incompétence”. Ils ne remettront jamais en cause leur logiciel ni leurs pratiques.

    en réponse à : Renommer indices #75238
    Merlin
    Maître des clés

    bebarth doit être en vacances.

    J’ai retrouvé le sujet, le script y est en pièce jointe :

    Renommer plusieurs champs de formulaire avec JavaScript

    en réponse à : Renommer indices #75235
    Merlin
    Maître des clés

    Nos messages se sont croisés (j’étais au téléphone avec un bavard).

    Sinon, bebarth a créé un utilitaire de renommage des champs, je pense qu’il va t’en parler.

    en réponse à : Renommer indices #75233
    Merlin
    Maître des clés

    Bonjour

     

    Il te faut télécharger la version d’essai de Qoppa PDF Studio qui permet de renommer plusieurs champs de formulaire à la fois, des centaines si besoin.

    Comme cette version d’essai ajoute des filigranes l’astuce c’est de faire ça dans une copie du document PDF et ensuite de ramener les champs renommés dans le document original par copier-coller en ouvrant les 2 PDF avec Acrobat, ou avec PDF Expert.

    Pour trouver cette fonction il faut sélectionner plusieurs champs à la fois et faire un clic-droit dessus : Sequential renaming (Je ne l’ai pas en français).

     

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Centrage des éléments de listes déroulantes #75224
    Merlin
    Maître des clés

    Bonjour

     

    Ça m’en bouche un coin ! Je ne savais qu’il existait un logiciel capable faire ça (bien que dans Acrobat les items se placent à gauche quand on clique sur le menu).

    Concernant Acrobat tu n’as rien raté, la réponse est non.

    en réponse à : Action “Lire un son” #75219
    Merlin
    Maître des clés

    Sur mon PC ça fonctionne bien, sauf quand je veux jouer la même note deux fois de suite : pour la jouer une deuxième fois il faut cliquer deux fois de suite.

    Je ne peux pas tester faute d’avoir les sons mais je me demande si tu ne devrais pas plutôt utiliser l’action souris relâchée.

    en réponse à : Probleme Javascript dans PDF #75214
    Merlin
    Maître des clés

    🙂

    en réponse à : Action “Lire un son” #75213
    Merlin
    Maître des clés

    Bonjour

    Il me semble que c’est un vieux bug de la version Mac, fais moi passer ton fichier que j’essaie sur PC.

    en réponse à : Champ image #75210
    Merlin
    Maître des clés

    Bonjour

     

    ” En fait, tout se passe à la création de ton champ image qui te propose un nom avec le suffixe “_af_image”.”

    Ça c’est le comportement d’Acrobat, peut être que PDF Expert gère différemment.

    En tout cas oui, il faut qu’il y ait une différence entre les noms car JavaScriptement on ne peut pas distinguer un bouton image d’un bouton en label/texte seul.

    en réponse à : Champ image #75206
    Merlin
    Maître des clés

    Essaye ça :

    if (nomChamp.indexOf("Aide.")==0) {
    if (this.getField(nomChamp).type=="text" || (this.getField(nomChamp).type=="button" && nomChamp.indexOf("_af_image")>0)) this.getField(nomChamp).readonly=true;
    else this.getField(nomChamp).readonly=false;
    }

Affichage de 99 réponses de 1 à 99 (sur un total de 10,343)