Donnez vie à vos documents numériques !
 

Merlin

Toutes mes réponses sur les forums

Affichage de 99 réponses de 595 à 693 (sur un total de 10,151)
  • Auteur
    Réponses
  • en réponse à : Script de calcul personnalisé avec choix multiple #70041
    Merlin
    Maître des clés

    Le script modifié ci-dessus n’est pas au format “Code” pour qu’on puisse voir ce qui est en orange, mais du coup les guillemets droits qu’on utilise en JavaScript ont été transformé en guillemets à chevron avec une espace à l’intérieur.

     

    en réponse à : Script de calcul personnalisé avec choix multiple #70037
    Merlin
    Maître des clés

    Je m’en doutais car ça me paraissait plus logique mais je m’en suis tenu aux instructions.

    Script modifié (en orange) :

     

    oSaisie1 = this.getField(“texte3”);
    oSaisie2 = this.getField(“Classe de précision”);
    oResult1 = this.getField(“texte4”);
    oResult2 = this.getField(“texte5”);

    // si les deux champs sont remplis
    if (oSaisie2.value != “Off” && oSaisie1.value != oSaisie1.defaultValue) {
    // soustraction des valeurs
    var nResult1 = oSaisie1.value – oSaisie2.value;
    // si résultat = zéro
    if (nResult1 == 0) {nResult1 = “”;}
    // affectation du résultat
    oResult1.value = nResult1;

    // calcul des valeurs
    var nResult2 = oSaisie1 + (oSaisie1.value /2) + oSaisie2.value;
    // si résultat = zéro
    if (nResult2 == 0) {nResult2 = “”;}
    // affectation du résultat
    oResult2.value = nResult2;

    }
    // sinon
    else {
    oResult1.value = oResult1.defaultValue;
    oResult2.value = oResult2.defaultValue;
    }

    en réponse à : Script de calcul personnalisé avec choix multiple #70028
    Merlin
    Maître des clés

    Ce script de calcul est dans “texte3” mais il pourrait être dans n’importe quel autre champ, le document est là :

    https://documentcloud.adobe.com/link/track?uri=urn:aaid:scds:US:e47d558a-eb52-449a-ab0f-893cb7b7dee4

     

    oSaisie1 = this.getField("texte3");
    oSaisie2 = this.getField("Classe de précision");
    oResult1 = this.getField("texte4");
    oResult2 = this.getField("texte5");

    // si les deux champs sont remplis
    if (oSaisie2.value != "Off" && oSaisie1.value != oSaisie1.defaultValue) {
    // soustraction des valeurs
    var nResult1 = oSaisie1.value - oSaisie2.value;
    // si résultat = zéro
    if (nResult1 == 0) {nResult1 = "";}
    // affectation du résultat
    oResult1.value = nResult1;

    // calcul des valeurs
    var nResult2 = (oSaisie1.value /2) + oSaisie2.value;
    // si résultat = zéro
    if (nResult2 == 0) {nResult2 = "";}
    // affectation du résultat
    oResult2.value = nResult2;

    }
    // sinon
    else {
    oResult1.value = oResult1.defaultValue;
    oResult2.value = oResult2.defaultValue;
    }

    en réponse à : Question GREP : peut-on faire des calculs simples ? #70026
    Merlin
    Maître des clés

    La réponse est OUI si on utilise ce script gratuit dont j’ignorais l’existence :

    https://creativepro.com/files/kahrel/indesign/price_adjuster.html

     

    en réponse à : Script de calcul personnalisé avec choix multiple #70024
    Merlin
    Maître des clés

    “CRMP1-.pdf: File exceeds allowed file size.”

    Fais un “Enregistrer sous” de ton fichier.

    S’il est encore trop gros pour passer en pièce jointe de ce forum tu peux utiliser une des nombreuses méthodes indiquées ici :

    Envoyer/partager/poster une pièce jointe volumineuse

    en réponse à : Script de calcul personnalisé avec choix multiple #70022
    Merlin
    Maître des clés

    Peux tu partager ton document ou un exemple en PDF ?

    Je veux bien te montrer comment faire les calculs dans un document existant mais je n’ai pas le temps de créer un formulaire et des champs juste pour ça.

     

    en réponse à : Script de calcul personnalisé avec choix multiple #70019
    Merlin
    Maître des clés

    Bonjour

     

    Peux tu partager ton document ou un exemple ?

    Ce sera plus facile que d’expliquer et tu comprendras aussi bien.

    en réponse à : LionelMacBruSoft a posté son dernier message #70016
    Merlin
    Maître des clés

    🙏

    en réponse à : Champ calculé – difference #70014
    Merlin
    Maître des clés

    Oui, supprime ces deux actions.

    C’est l’action Champ Activé qui déclenche le remplissage du champ, si et seulement s’il est vide.

    en réponse à : Plan de table #70009
    Merlin
    Maître des clés
    en réponse à : Modifier 2 champs basé sur le résultat d’un 3e. #69998
    Merlin
    Maître des clés

    Je t’invite également à lire ou relire cet article : https://www.abracadabrapdf.net/?p=4736

    😉

    en réponse à : Question GREP : peut-on faire des calculs simples ? #69995
    Merlin
    Maître des clés

    Bonjour

     

    La réponse est non.

    Dans InDesign il y a deux façons d’utiliser le GREP :

    • en “style GREP”, qui ne permet pas de remplacer car ça n’applique que des formatages.
    • en “Rechercher-remplacer GREP”, mais il faut saisir le texte de remplacement. Il n’y a ni calcul ni automatisme possible.
    • Cette réponse a été modifiée le il y a 2 années et 7 mois par Merlin.
    en réponse à : Modifier 2 champs basé sur le résultat d’un 3e. #69994
    Merlin
    Maître des clés

    Bonjour

     

    Je le verrais mieux ainsi :

     

    if (event.value >= 10) {
    this.getField("AG").checkThisBox(0, true);
    this.getField("AG TEXT").value ="Écart d'âge est plus de 10 ans";
    }
    else {
    this.getField("AG").checkThisBox(0, false);
    this.getField("AG TEXT").value ="";
    }

    en réponse à : Calcul date automatique j+1, j+2, j+3…. #69990
    Merlin
    Maître des clés

    🙌🙌🙌

    👏👏

    👍

    en réponse à : Calcul date automatique j+1, j+2, j+3…. #69987
    Merlin
    Maître des clés

    Je viens de re-regarder le document : je trouve que dissocier les noms de jour (en dur, dans le fond de page) et les dates (dans des champs de formulaire) est source d’erreur car rien ne vérifie la concordance entre date et jour.

    À mon avis il vaudrait mieux n’utiliser que des dates longues (avec le nom du jour) dans les champs.

    😎

    en réponse à : Champ calculé – difference #69986
    Merlin
    Maître des clés

    Comme c’est un script de calcul on peut le placer dans n’importe quel champ, mais je reconnais que c’est étrange, comme le nom des champs qui est à l’envers.

    Je ne sais plus pourquoi ce document avait été fait ainsi, ça fait trop longtemps.

    😇

    en réponse à : Calcul date automatique j+1, j+2, j+3…. #69984
    Merlin
    Maître des clés

    Bonjour et bienvenue

     

    J’ai placé ce script en script de validation dans le champ de départ (en orange dans le ci-joint).

    (Le format de date du champ de départ doit correspondre à celui de la 3e ligne du script)

     

    var daDate = event.value;
    if(daDate !== "") {
    var aDate = util.scand("dd/mm/yyyy", daDate);
    if(aDate) {
    for (var i=1; i<42; i++) {
    var Dday = i * 24 * 60 * 60 * 1000;
    oNewDate = new Date(Dday + aDate.getTime());
    this.getField("date." + i).value = util.printd("dd/mm/yyyy", oNewDate);
    }

    }
    }

    else {
    for (var i=1; i<42; i++) {
    this.getField("date." + i).value = "";
    }
    }

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Champ calculé – difference #69974
    Merlin
    Maître des clés

    Tu n’as pas assez cherché !

    😉

     

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Champ calculé – difference #69970
    Merlin
    Maître des clés

    Tu peux copier-coller les champs de l’exemple ci-joint.

    Attention, il y a une fonction en script de document.

     

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Champ calculé – difference #69965
    Merlin
    Maître des clés

    Ça ne peut pas fonctionner, ce sont des champs Date.

    On ne peut pas soustraire des dates simplement, il faut préalablement convertir chaque date en millisecondes à partir de la date EPOCH, faire la soustraction, et re-convertir le résultat en date intelligible pour un humain.

     

    On en a déjà parlé sur le forum, tu devrais faire une recherche (date, epoch, …).

    Beaucoup de pièces jointes ont disparu lors du changement de forum alors n’hésites pas à revenir si tu as des questions ou besoin d’exemples.

    en réponse à : Champ calculé – difference #69960
    Merlin
    Maître des clés

    Bonjour

     

    A priori le script est bon, ce qui coince ce sont les guillemets à chevron (et les espaces qui vont avec), en JavaScript on n’utilise que les guillemets droits  " (et donc sans espace entre le nom du champ et le guillemet).

    C’est notamment pour éviter ce genre de problèmes qu’en programmation on n’utilise pas de logiciels de traitement de texte (Word, TextEdit, Bloc-Notes…) mais des logiciels « Editeur de texte », comme les logiciels gratuits Notepad++ (Windows) ou BBedit (Mac).

    • Cette réponse a été modifiée le il y a 2 années et 8 mois par Merlin.
    en réponse à : Calcul #69951
    Merlin
    Maître des clés

    👍

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

    1000 mercis.

    Si tout le monde faisait comme vous…

    🙏

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

    En fait il n’y a pas besoin de JavaScript ni de calculs compliqués, il faut juste bien nommer les champs et éventuellement utiliser un champ masqué. J’ai aussi modifié la valeur d’exportation des coches Parution.

     

    Ce tuto explique pourquoi j’ai renommé les champs avec des points et pourquoi ça simplifie les calculs : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/

    😎

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

    Ce que je voulais dire, et bebarth aussi je suppose, c’est qu’avec un menu déroulant on ne peut commander qu’un seul article, ou alors il faut remplir un bon de commande pour chaque article, ce qui n’est pas ergonomique ni très logique.

    S’il y avait une case à cocher devant chaque article on pourrait en commander plusieurs avec un seul bon de commande.

     

    Quel que soit ton choix on peut facilement remplir le champ tarif automatiquement.

    Si tu choisis les cases à cocher il faut mettre le prix de l’article en “valeur d’exportation” dans chaque case.

    Si tu choisis de conserver le menu déroulant il faut que tu le refasses en ajoutant pour chaque article le tarif en “valeur d’exportation”, mais comme Acrobat ne permet de modifier les articles existants il faut tous les supprimer et recommencer.

    Attention : en “valeur d’exportation” il ne faut mettre que le chiffre, pas d’espace ni de symbole monétaire.

     

    Une fois que tu auras fait ça, poste ton document et bebarth ou moi pourra t’ajouter le bout de script qui va bien.

     

     

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

    Bonjour

     

    Exemple ci-joint, qui n’utilise pas de JavaScript, seulement les fonctions de calculs intégrées à Acrobat.

     

    Pour moi le défaut de ce bon de commande c’est qu’on ne peut commander qu’un seul article (à moins que ce soit exprès ?).

    Un jeu de coches à gauche ou à droite de la liste des articles permettrait d’en sélectionner plusieurs.

    Attachments:
    You must be logged in to view attached files.
    Merlin
    Maître des clés

    Bonjour

     

    A priori ça ressemble plutôt à un problème d’ordre de calcul mais avec juste le script hors contexte il n’est pas facile de répondre. 🤔

    Ce serait plus simple si tu pouvais partager tout ou partie de ton document.

     

    en réponse à : Porte document pdf #69919
    Merlin
    Maître des clés

    Bonjour

     

    Mauvaise nouvelle, Flash Player n’existe plus et Acrobat XI ne sera jamais mis à jour.

    Il faut utiliser Acrobat Pro DC ou Acrobat Pro 2020 (sans abonnement) pour créer des porte-documents sans Flash Player.

     

    Bonne nouvelle quand même, les porte-documents créés avec Acrobat XI (ou autre) avec Flash Player sont lisibles avec les versions actuelles (en mode “classeur”, sans l’interface Flash).

    • Cette réponse a été modifiée le il y a 2 années et 8 mois par Merlin.
    en réponse à : Signature numérique / électronique #69912
    Merlin
    Maître des clés

    👍

    en réponse à : Signature numérique / électronique #69909
    Merlin
    Maître des clés

    Principe de base de tout éditeur de logiciel : laisser l’utilisateur croire que c’est de sa faute…

    😉

    en réponse à : Signature numérique / électronique #69907
    Merlin
    Maître des clés

    Ça fonctionne bien mais effectivement il faut valider 2 fois.

    Bravo.

    en réponse à : Signature numérique / électronique #69904
    Merlin
    Maître des clés

    Merci !

    en réponse à : Signature numérique / électronique #69896
    Merlin
    Maître des clés

    S’il y a “export en PDF” ça concerne le format PDF et ça peut nous intéresser.

    😎

    en réponse à : Signature numérique / électronique #69889
    Merlin
    Maître des clés

    Je n’ai jamais essayé ça.

    en réponse à : Signature numérique / électronique #69824
    Merlin
    Maître des clés

    Je trouve ça très inquiétant, on livre nos administrations aux multinationales américaines qui planquent la plupart de leurs bénéfices dans les paradis fiscaux…

    😮

    en réponse à : Android vs iOS : avantages et inconvénients #69822
    Merlin
    Maître des clés

    .

    en réponse à : Signature numérique / électronique #69820
    Merlin
    Maître des clés

    À moins que l’Éducation Nationale ait déjà son propre système de signature numérique pour s’éviter de payer des abonnements à des multinationales américaines et protéger la confidentialité des échanges.

    Mais je suis certainement en plein rêve. 😀

    en réponse à : Signature numérique / électronique #69819
    Merlin
    Maître des clés
    • Le gestionnaire raisonne à l’ancienne, il devrait refaire les comptes parce-que les abonnements sont généralement calculés pour être (un peu) moins chers que l’achat.

     

    • De toute façon il n’y a pas besoin de logiciel payant, Acrobat Reader suffit. On peut aussi utiliser les signatures depuis Word ou d’autres logiciels.
      Ce qu’il faut payer dans ce cas c’est juste un abonnement à Adobe Sign, pour un ou plusieurs utilisateurs. Il y a plusieurs formules avec plusieurs options. L’essai est gratuit : https://www.adobe.com/fr/sign/free-trial-global.html

      Il y a aussi des concurrents qui proposent des offres et des prix différents, DocuSign étant le principal. Là aussi l’essai est gratuit : https://go.docusign.com/trial/productshot-france/

    en réponse à : Signature numérique / électronique #69815
    Merlin
    Maître des clés

    OTAN pour moi, c’est aussi directement disponible dans Acrobat Reader et on peut tester gratuitement, voir :

     

    • Cette réponse a été modifiée le il y a 2 années et 8 mois par Merlin.
    Attachments:
    You must be logged in to view attached files.
    en réponse à : Signature numérique / électronique #69814
    Merlin
    Maître des clés

    Bonjour

     

    Le mieux c’est d’oublier tout de suite les signatures avec certificat et tous les trucs compliqués qui demandent à l’utilisateur d’avoir un logiciel spécifique et de faire des manipulations complexes.

     

    L’ultra simple c’est de les “Envoyer pour signature”, c’est une fonction disponible dans Acrobat Pro et Standard (avec Acrobat Reader il faut payer un abonnement AdobeSign).

    Les destinataires reçoivent un email avec un lien qui les invite à se connecter, ils remplissent le formulaire en ligne directement dans le navigateur web et ils signent, le tout en étant guidés par de grosses flèches.

    Ensuite, expéditeur et destinataire(s) reçoivent un lien pour télécharger le PDF signé numériquement avec une vraie signature certifiée.

    Avec en prime un gestionnaire qui permet de savoir qui a/n’a pas répondu, quand, etc.

    Le seul inconvénient c’est qu’on ne peut pas utiliser de formulaires avec des calculs, des actions JavaScript ou des formats compliqués, mais dans ton cas ça devrait le faire.

    Voir ce tuto : https://helpx.adobe.com/fr/acrobat/using/send-for-signature.html

    en réponse à : concaténation des valeurs de plusieurs champs #69806
    Merlin
    Maître des clés

    😀

    en réponse à : concaténation des valeurs de plusieurs champs #69802
    Merlin
    Maître des clés

    Pour le champ de code postal, j’ai implémenté la contrainte d’un nombre de caractères requis (5) en action de validation et j’ai également implémenté le format nombre avec zéro directeur (à gauche) en action de frappe. Ces 2 scripts sont dans les scripts fournis et fonctionnent très bien

    Pourquoi ne pas utiliser directement le format “Code Postal” ?

     

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

    👍

    en réponse à : Mauvais affichage 3D dans Acrobat Reader #69767
    Merlin
    Maître des clés

    Essaie de faire comme indiqué dans la réponse correcte de ce sujet (il y a un bouton “Traduire” sous chaque message) :

    https://community.adobe.com/t5/acrobat-reader-discussions/poor-display-quality-of-3d-model-in-pdf/m-p/9930048/thread-id/42586#M42587

    en réponse à : Vous allez aimer le GHRA ! #69757
    Merlin
    Maître des clés

    Mise à jour 4 ans et demi après : l’application mobile n’existe plus.

    Maintenant il y a un site web normal et accessible avec n’importe quel appareil :

    https://avignonguidehistorique.fr/

     

    en réponse à : Questions réponses sur animations dans un pdf #69751
    Merlin
    Maître des clés

    Bonjour et bienvenue

     

    Dans le format PDF on peut :

    • animer/faire défiler des images ou des champs de formulaires avec JavaScript, mais ce n’est pas simple.
    • intégrer une vidéo au format MP4.
    • importer un fichier 3D (simple) et lui ajouter des actions via JavaScript (pas simple).

     

    Voir ces PDF de démo :

     

    Le résultat dépend du logiciel utilisé, les logiciels lecteurs de PDF “par défaut” (Aperçu et Edge principalement) sont catastrophiques car ils ne supportent que peu des fonctionnalités du format PDF 1.7, alias norme ISO 32000.
    Contrairement à des logiciels comme Acrobat ou Foxit (dont les versions Reader sont gratuites).
    Voir comment pallier à ce problème : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/forcer-utilisation-pdf-avec-acrobat-reader/

     

    en réponse à : Lien vers URL dans PDF #69749
    Merlin
    Maître des clés
    en réponse à : Lien vers URL dans PDF #69746
    Merlin
    Maître des clés

    Décidément tu n’as pas de chance avec les pièces jointes dans ce nouveau forum ! 😉

    Ça ne fonctionne pas :

     

    • Cette réponse a été modifiée le il y a 2 années et 8 mois par Merlin.
    Attachments:
    You must be logged in to view attached files.
    en réponse à : Masquer un champ #69714
    Merlin
    Maître des clés

    Merci ca marche bien pour afficher le champ mais, lorsque j’enlève la donnée du champ1, le champ2 ne disparait pas

    Dans l’exemple ci-joint ça fonctionne.

    PS ou est ce que vous avez appris tout ca?

    Tout est là :

    Ressources PDF-JavaScript


    :-)

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

    Bonjour

    Il faut placer ce script en script de validation dans le champ 1, après avoir ajusté le nom du champ n°2 :

    if (event.value.toString().length > 0) {this.getField(“CHAMP2”).display = display.visible;}
    else {this.getField(“CHAMP2”).display = display.hidden;}

    en réponse à : Envoi de formulaire par Mail ne fonctionne plus ! #69707
    Merlin
    Maître des clés

    S'il est KO, je le mettrai en ligne ici mais le souci est qu'il utilise pas mal de la charte graphique de l'entreprise et donc cela m'ennuie un peu de le publier tel que……!!!!

    Tu traces des grands rectangles sur les zones à supprimer et tu nous laisse juste l'essentiel :
    https://helpx.adobe.com/fr/acrobat/using/removing-sensitive-content-pdfs.html

    en réponse à : Majuscules accentuées sur une ou plusieurs lignes #69708
    Merlin
    Maître des clés

    Bonjour et bienvenue

    On peut forcer l'affichage de certains caractères en capitale après la saisie, qu'ils soient accentués ou non.
    On peut aussi le faire à la volée lors de la saisie pour tous les caractères avec une simple ligne de JavaScript.

    Si j'ai bien compris ta demande, il faudrait développer un script qui détecte les sauts de ligne, les poins et autres ponctuations de fin de phrase, mais ça c'est a priori une autre paire de manches.
    J'ai pensé à activer le correcteur orthographique dans le champ de saisie en question mais ça ne fonctionne que pour les noms propres, il ne détecte pas les débuts de phrase (merci Adobe !).
    Quelqu'un aura peut être une autre idée ?

    Se as pas vis l'Ordecho, as d'jamal ràn vis!

    en réponse à : Envoi de formulaire par Mail ne fonctionne plus ! #69705
    Merlin
    Maître des clés

    Bonjour
    Le script à l'air OK… Peux tu partager ce document (après avoir biffé son contenu si besoin) ?

    en réponse à : Lien vers URL dans PDF #69702
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Ça requiert un bon niveau en JavaScript.
    Ready ?

    Merlin
    Maître des clés

    Dans ce cas le plus simple est d’utiliser ce script dans une Action, après l’avoir personnalisé, ensuite on peut appliquer l’Action sur un lot de fichiers.

    // CRÉER BOUTON PAGE SUIVANTE SUR TOUTES LES PAGES
    for (var p = 0; p < this.numPages; p++) {
        // Position du rectangle
        var aRect = this.getPageBox( {nPage: p} );
        // aRect[0] = zéro car on est dans la CROP box
        aRect[0] = aRect[2] - nPosBt6*inch; // from right of page
        aRect[2] = aRect[0]+1*inch; // Make it 1 cm wide
        aRect[1] -= .5*inch;  // 0,5 cm from the top of page
        // aRect[3] = zéro car on est dans la CROP box
        aRect[3] = aRect[1] - 15; // and 15 points high
        var f = this.addField("btPageSuiv", "button", p, aRect )
        f.setAction("MouseUp", "pageSuiv()");
        f.userName = "Page suivante"; // infobulle
        f.display = display.noPrint;
        f.borderStyle = border.s;
        f.highlight = "none";
        f.textSize = 0; // 0 = corps automatique
        f.textColor = color.black;
        f.fillColor = color.white;
        f.strokeColor = color.transparent;
        f.textFont = font.Helv; // Helvetica
        f.buttonSetCaption(">>>"); // flèche vers la droite
    }
    • Cette réponse a été modifiée le il y a 2 années et 8 mois par JR Boulay.
    Merlin
    Maître des clés

    Bonjour
    Je crois que c'est typiquement un bouton qui ne sert pas à grand-chose car il existe déjà par défaut au-dessus de tous les documents.
    Il y a aussi un raccourci-clavier.

    en réponse à : Mauvais affichage 3D dans Acrobat Reader #69696
    Merlin
    Maître des clés

    As-tu essayé de jouer avec les réglages d'éclairage ?
    Sinon partage ton fichier qu'on puisse voir ce que ça donne sur d'autres écrans.

    en réponse à : Impression PDF #69695
    Merlin
    Maître des clés

    Si un formulaire est destiné à être imprimé ça n'a pas de sens d'interdire l'impression.  :tutut:
    L'utilisateur peut avoir plein de bonnes raisons pour vouloir imprimer un formulaire partiellement rempli et finir de le compléter à la main.

    Je suis donc à fond avec la proposition de bebarth.

    en réponse à : Problème d’impression des formulaires #69692
    Merlin
    Maître des clés

    Vers 2006/2007 un administrateur a dû changer mon pseudo en MagicPDF suite à un bug du forum de MacGé et depuis il est resté.
    J'ai aussi reconnu ton pseudo, dès que j'ai reçu le message de confirmation d'inscription.  :Smiley03:

    en réponse à : Problème d’impression des formulaires #69690
    Merlin
    Maître des clés

    (A ce propos es-tu MagicPDF, qui aidait les gens sur Macgénération dans le temps ?)

    C'est bien moi, mais pourquoi “dans le temps” ?  :geek:

    en réponse à : Problème d’impression des formulaires #69688
    Merlin
    Maître des clés

    Ceci dit, on peut leur conseiller d'utiliser Acrobat Reader (ce que la plupart font déjà je pense).

    Le “conseil” ça ne fonctionne pas très bien, je te conseille plutôt d'utiliser ce truc de la mort qui tue efficace à 100% :
    https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/forcer-utilisation-pdf-avec-acrobat-reader/

    Peux-tu me dire la marche à suivre pour aplatir à partir de Reader ?

    Acrobat Reader ne permet pas d'aplatir les champs de formulaires.
    Sur Windows il est toujours possible d'imprimer en PDF pour générer un nouveau PDF aplati mais ce n'est pas automatisable et ça ne fonctionne pas sur Mac.

    À ce stade je crois qu'il faudrait peut être penser à changer d'imprimeur (on n'est plus au XXe siècle), ça simplifierait beaucoup de choses.  :Smiley15:

    en réponse à : Problème d’impression des formulaires #69686
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Les champs de formulaire ne sont pas des objets comme les autres et ils ne supportent que le mode colorimétrique RVB.
    Mais ils devraient s'imprimer…

    Il faudrait prévoir dans ton formulaire la possibilité d'aplatir les champs de formulaire pour intégrer leur contenu à la couche graphique, et il faudrait aussi prévoir la conversion en CMJN. Mais ce n'est possible qu'avec Acrobat Pro, pas avec Reader.

    Donc il faut savoir de quel logiciel ton client est équipé.
    (L'aplatissement peut fonctionner avec Acrobat Standard mais pas la conversion CMJN)

    Merlin
    Maître des clés

    Il faut ajouter cette ligne :

    var f = this.numPages
    var pp = this.getPrintParams();
    pp.printRange = 1,f -1;
    pp.pageHandling = pp.constants.handling.fit; // ajuster au papier
    this.print(pp);

    Merlin
    Maître des clés

    Scripts qu'on peut améliorer ainsi pour éviter que l'utilisateur soit invité à enregistrer le document s'il n'a pas fait de modication avant de l'imprimer :

    // Document sera imprimé (document will print)
    var bSale = this.dirty;
    this.deletePages({nStart: this.numPages-1});
    console.println(“Suppression de la page modèle pendant l'impression…”);

    // Document a été imprimé (document did print)
    this.spawnPageFromTemplate({cTemplate: “pageModele”});
    this.dirty = bSale;
    console.println(“…puis réaffichage de la page.”);

    :geek:

    À propos de “this.dirty” voir : https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/Acro12_MasterBook/JS_API_AcroJS/Doc_properties.htm?rhhlterm=dirty&rhsyns=%20#XREF_39186_dirty

    Merlin
    Maître des clés

    bebarth, merci pour l'exemple mais j'utiliserais les scripts autrement : placés en action “Document sera imprimé” et en action “Document a été imprimé”.
    Ainsi il n'y a pas forcément besoin de bouton Imprimer et ça fonctionne quelle que soit la commande choisie par l'utilisateur (menu Fichier : Imprimer, raccourci-clavier, icône d'outil rapide…) pour imprimer.
    :Smiley03:

    // Document sera imprimé (document will print)
    this.deletePages({nStart: this.numPages-1});
    console.println(“Suppression de la page modèle pendant l'impression…”);

    // Document a été imprimé (document did print)
    this.spawnPageFromTemplate({cTemplate: “pageModele”});
    console.println(“…puis réaffichage de la page.”);

    Merlin
    Maître des clés

    L'autre méthode, plus “brutale”, c'est de recouvrir la page à ne pas imprimer avec un champ à fond blanc réglé pour être “invisible à l'écran et visible à l'impression”.
    Ainsi ladite page ne s'imprime pas, mais ça ajoute une page blanche/vide lors de l'impression.
    :Smiley03:

    Merlin
    Maître des clés

    Pas besoin de bidouiller, la solution est simple.
    Il faut générer une page à partir du template et masquer le template.

    Cette page générée “non statique” peut donc être supprimée avant l'impression, et re-générée ensuite à partir du template masqué.

    :Smiley15:

    Merlin
    Maître des clés

    Oui, Acrobat Reader ne peut pas afficher/masquer des Templates.
    Par-contre il* peut générer (spawn) des pages à partir de Templates et il peut supprimer les pages ainsi générées (mais il peut pas supprimer les pages statiques).

    Bizarrement, Foxit Reader permet lui aussi de générer des pages à partir de Templates mais pas de supprimer les pages ainsi générées…  :oh:

    * (Acrobat Reader DC et Adobe Reader XI seulement, pas les versions antérieures)

    en réponse à : Interligne Acrobat Pro DC #69646
    Merlin
    Maître des clés

    bebarth, tu as complètement raison mais… Tu vas vite constater que dès que le champ est vidé ou réinitialisé il perd tous ses réglages RTF et revient aux valeurs par défaut.
    Efface le texte dans ton document et essaie d'en saisir un autre.
    Merci Adobe.  :mur:  :oh:

    en réponse à : Interligne Acrobat Pro DC #69643
    Merlin
    Maître des clés

    Bonjour et bienvenue

    J'avais écrit une réponse hier mais le forum s'est évaporé au moment de la poster, donc je recommence.  :geek:

    L'interlignage est ingérable dans un champ de formulaire PDF.

    Mais ce n'est pas un drame car les formulaires numériques n'ont pas besoin de lignes ni de champs-peigne (précasés), je ne connais aucun type de champ de formulaire pouvant être rempli de travers ou en superposant les caractères.
    Donc la solution est simple : attribuer un fond blanc aux champs text pour masquer les lignes et/ou les champs-peigne sous-jacents.

    Reste le cas du formulaire mixte papier/numérique, dans ce cas j'utilise deux scripts, un qui attribue un fond blanc au champ dès qu'il est activé, et un autre qui vérifie si le champ a été rempli quand il est désactivé.
    Si le champ a été rempli il garde son fond blanc, sinon le script remet le fond transparent pour que ça puisse être rempli à la main.

    Donc en Action “Champ activé” (on Focus) je met ce script :

    Code:
    event.target.fillColor = color.white ;

    Et en Action “champ désactivé” (on Blur) :

    Code:
    if (event.value.toString().length > 0) {event.target.fillColor = color.white ;}
    else {event.target.fillColor = color.transparent ;}

    Le script en Action “champ désactivé” peut fonctionner sans l'autre, mais dans ce cas le fond ne devient blanc que quand le champ est désactivé et que s'il a été rempli.

    en réponse à : Liste déroulante et calques #69455
    Merlin
    Maître des clés

    :bravo:

    en réponse à : Valeur d’un champ, en fonction d’un autre… #69658
    Merlin
    Maître des clés

    La valeur du champ reste bloquée à la valeur précédente parce-que le script ci-dessus ne fonctionne pas.
    Ce n'est pas la 1re fois que je me fais avoir : il ne faut pas mettre .value en variable quand on veut l'assigner, ça ne fonctionne qu'en lecture.    :oh:  :geek:
    Par ailleurs j'ai aussi changé l'ordre des conditions, sinon dans certains cas certaines ne s'exécuteront pas.

    var f = this.getField(“Text8”).value;
    var g = this.getField(“Text9.0”);

    if (f>11) {
    (g.value = “- de 25”);
    }
    else if (f<1) {
    (g.value = “+ de 30”);
    }
    else if (f<6) {
    (g.value = “25 u00E0 30”);  // u00E0 = “à” en Unicode
    }
    else if (f<12) {
    (g.value = “25”);
    }
    else {
      g.value = “”;
    }

    Exemple ci-joint (parce-que cette fois j'ai testé…).

    en réponse à : Problème lors de l’export #69642
    Merlin
    Maître des clés

    Si c'est ça que tu appelles “un maximum de détails” je sens que ça va être laborieux…  :Euuuh:
    L'EPS est un format obsolète et périmé qu'il vaut mieux éviter d'utiliser.

    Peux-tu partager ton document ou un exemple ?
    Voir : https://abracadabrapdf.net/forum/index.php/topic,2974.0.html

    en réponse à : Valeur d’un champ, en fonction d’un autre… #69656
    Merlin
    Maître des clés

    Bonjour

    La rubrique Support & Assistance ne concerne que les utilitaires (gratuit) fournis par le site abracadabraPDF, le reste se passe ici.  :idee:

    Ton script peut être amélioré ainsi :
    – un peu d'Unicode pour la compatibilité, voir : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/pdf-javascript-et-unicode/
    – “else if” fait que le script s'arrêtera dès qu'il aura trouvé une concordance au lieu de continuer à tester toutes les conditions.
    – le “else” final sert à gérer tous les autres cas indéterminés et à vider le champ texte, qui sinon conserverait la valeur précédente.
    – pourquoi mettre un champ en variable et pas l'autre ? Pour le coup ça ne fait pas une grosse différence mais ça permet aux scripts de s'exécuter beaucoup plus vite et qui simplifie la maintenance.


    var f = this.getField(“Text8”).value;
    var g = this.getField(“Text9.0”).value;

    if (f>11) {
    (g = “- de 25”);
    }
    else if (f<12) {
    (g = “25”);
    }
    else if (f<6) {
    (g = “25 u00E0 30″);  // u00E0 = “à” en Unicode
    }
    else if (f<1) {
    (g = “+ de 30”);
    }
    else {
    g = “”;
    }

    Modif : voir ci-dessous.

    en réponse à : Problème lors de l’export #69640
    Merlin
    Maître des clés

    Avec quel logiciel ?
    Avec quelles options d'exportation ?

    Merci de donner un maximum de détails, je suis magicien, pas devin.  :Smiley01:

    en réponse à : Bug lors du spawn de templates – formulaire pdf #69636
    Merlin
    Maître des clés

    Moi j'exporterais la nouvelle page du nouveau document et je la réimporterais dans l'ancien document, dans un premier temps avec ses champs de formulaire, et sans ses champs de formulaire si ça continue de bugger.

    Rien n'empêche de travailler sur des templates existants, la petite case qui est en regard de chaque template sert à l'afficher/masquer.

    en réponse à : Problème lors de l’export #69638
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Comment fais tu pour enregistrer/exporter ton formulaire en JPEG ?

    en réponse à : Bug lors du spawn de templates – formulaire pdf #69633
    Merlin
    Maître des clés

    Bonjour

    Je les ai ouverts, quelque chose a foiré lors de la réalisation du nouveau document.
    Moi je reprendrais l'ancien, et je recommencerais à partir de là.
    :priere:

    Merlin
    Maître des clés

    I want both comments , highlighted text  to be extracted.

    So I repeat my question  :

    Rakesh Kumar, why can't you use the Acrobat Pro embedded tool “Create Comment Summary” ?
    It look like we are trying to reinvent the wheel.

    en réponse à : Valeur avec un préfixe et format personnalsé #69618
    Merlin
    Maître des clés

    Bonjour

    Si le nombre de chiffres est fixe/toujours le même c'est typiquement un cas d'utilisation du Format : “Masque arbitraire”, comme ceci : FACT-99999999999999999
    Voir : http://abracadabrapdf.net/forum/index.php/topic,1301.msg5905.html#msg5905

    Sinon il faut utiliser du JavaScript avec un peu de GREP.

    Merlin
    Maître des clés

    Rakesh Kumar, why can’t you use the Acrobat Pro embedded tool “Create Comment Summary” ?
    It look like we are trying to reinvent the wheel.

    en réponse à : Publipostage PDF avec Excel #62058
    Merlin
    Maître des clés

    étant d’un niveau “amateur” je voulais savoir où créer le code qui génèrera plusieurs fichiers à l’issue d’un import de données en .txt.

    – Tous les scripts JavaScript ?
    – Scripts JavaScript du document ?
    – Action du document ?

    Il faut que tu lises cet article : https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/

    en réponse à : Formulaire duplique page selon liste deroulante #69612
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Oui c’est possible mais ça demande un bon niveau de connaissances en formulaire PDF et (surtout) en JavaScript.
    Il ne s’agit pas juste d’ajouter quelques champs de formulaire sur un document, c’est un projet de développement.

    en réponse à : Calcul heures dans un formulaire PDF #69607
    Merlin
    Maître des clés

    Bonjour et bienvenue

    Ce sont des sujets déjà abordé dans ce forum.
    Le mieux serait que tu commences par faire une recherche afin de dégrossir la problématique, ensuite n’hésites pas à revenir avec des questions si ça coince.

    Merlin
    Maître des clés

    Download this attachment and install it.
    It’s a version made for you.

    Merlin
    Maître des clés

    Save this script as a .js file and place it in your Acrobat’s JavaScripts folder.

    Merlin
    Maître des clés

    Here is the script, I removed the “Reader only” condition.
    Interesting things are beetween lines 55 and 90.

    Code:
    // abracadabraTools DC – Comments report – Lister les commentaires
    //
    if (app.viewerVariation == “Reader” && app.formsVersion > 9) {
    if (app.language == “FRA”) {
    var strRapComment00 = “Lister tous les commentaires du document dans la Console”; // tooltip bouton
    var strRapComment01 = “Lister les commentaires…”; // menu
    var strRapComment01b = “Commentaires liste”; // bouton
    var strRapComment02 = “Choisir un mode de classement”;
    // var strRapComment03 = “Aucun”;
    var strRapComment04 = “Page”;
    var strRapComment05 = “Auteur”;
    var strRapComment06 = “Date”;
    var strRapComment07 = “Type”;
    var strRapComment08 = “LISTE DES COMMENTAIRES DU DOCUMENT : “;
    var strRapComment09 = “Aucun commentaire n’a u00E9tu00E9 du00E9tectu00E9 dans ce document”;
    }
    else {
    var strRapComment00 = “Report all document comments in the Console”; // tooltip bouton
    var strRapComment01 = “Comments Report…”; // menu
    var strRapComment01b = “Comments Report”; // bouton
    var strRapComment02 = “Select a sort type”;
    // var strRapComment03 = “None”;
    var strRapComment04 = “Page”;
    var strRapComment05 = “Author”;
    var strRapComment06 = “Date”;
    var strRapComment07 = “Type”;
    var strRapComment08 = “LIST OF COMMENTS FOR DOCUMENT:”;
    var strRapComment09 = “No comments were detected in this document”;
    }
    }
    //
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    if (app.formsVersion > 9) {
    // ajout du menu
    // si le menu abracadabraTools n’existe pas déjà
    var strNomMenu = “abracadabraTools u002A”;
    if (global.aTmenu != 1) {
    app.addSubMenu({ cName: strNomMenu, cParent: “Edit”, nPos: 0});
    app.addMenuItem({ cName: “-“, cParent: “Edit”, nPos: 0, cEnable: false, cExec:null});
    global.aTmenu = 1;
    }
    app.addMenuItem({ 
    cName: “Commentaires_rapport”, 
    cUser: strRapComment01, 
    cParent: strNomMenu, 
    cExec: “listeDesComments(this)”,
    nPos: 0,
    cEnable: “event.rc = app.doc;” 
    }); 
    //
    //
    listeDesComments = app.trustedFunction (function (doc) {
    var aClassement = [];
    // Prompt the user for the sorting type 
    aClassement.push({cName: strRapComment02, bEnabled: false}); 
    aClassement.push({cName: “-“}); 
    // aClassement.push({cName: strRapComment03, cReturn: ANSB_None}); 
    aClassement.push({cName: strRapComment04, cReturn: ANSB_Page}); 
    aClassement.push({cName: strRapComment05, cReturn: ANSB_Author}); 
    aClassement.push({cName: strRapComment06, cReturn: ANSB_ModDate}); 
    aClassement.push({cName: strRapComment07, cReturn: ANSB_Type}); 
    var nSortType = app.popUpMenuEx.apply(app, aClassement) || ANSB_None; 
    // 
    // Change to true to reverse the sort order 
    var bReverseOrder = false; 
    //
    doc.syncAnnotScan(); 
    var a = doc.getAnnots({nSortBy: nSortType, bReverse: bReverseOrder}); 
    // 
    if (a) {
    var msg = “Page %s par %s le %s”;
    console.clear();
    console.show();
    console.println(strRapComment08 + this.documentFileName + “rrr”);
    for (var i = 0; i < a.length; i++) {
    console.println(util.printf(msg, 1 + a.page, a.author, util.printd(“yyyy/mm/dd HH:MM:ss”, a.creationDate)));
    console.println(a.contents + “rr”);
    }
    }
    else {
    console.clear();
    console.show();
    console.println(strRapComment08 + this.documentFileName + “]rr”);
    console.println(strRapComment09);
    // app.alert({cMsg: crop13, cTitle: strTitreId, oCheckbox: oCase, nIcon: 2, nType: 2})
    }
    });
    //
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    // icône comments report
    var strIconComReport = “ffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffffffffffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffffffffffb40000ffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffffffffffb40000ffb40000ffffffffffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffffffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffb40000ffffffff”;
    //
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    // ajout du bouton
    var oIconComReport = {count: 0, width: 20, height: 20, read: function(nBytes) {return strIconComReport.slice(this.count, this.count += nBytes);}};
    var comReportBouton =
    {cName: “Commentaires-rapport”,
    cExec: “listeDesComments(this)”,
    cEnable: “event.rc = event.target != null”,
    cMarked: “event.rc = false”,
    cTooltext: strRapComment00,
    oIcon: oIconComReport,
    cLabel: strRapComment01b};
    //
    try{app.removeToolButton(“comReport”);} catch(e){}
    try{app.addToolButton(comReportBouton);} catch(e){}
    //
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    // menu Aide
    // si le menu Aide abracadabraTools n’existe pas déjà
    if (global.aTmenAide != 1) {
    if (app.language == “FRA”) {
    var strMenAide00 = “abracadabraTools”;
    var strMenAide01 = “Support & assistance…”;
    // var strMenAide02 = “Tu00E9lu00E9chargement”;
    var strMenAide02 = “Actualisation…”;
    var strMenAide03 = “https://www.abracadabrapdf.net/?p=111&#8221;;
    var strMenAide04 = “Site web”;
    var strMenAide05 = “https://www.abracadabrapdf.net/&#8221;;
    }
    else {
    var strMenAide00 = “abracadabraTools”;
    var strMenAide01 = “Support & Assistance…”;
    var strMenAide02 = “Check for update…”;
    var strMenAide03 = “https://www.abracadabrapdf.net/?p=972&#8221;;
    var strMenAide04 = “Web Site”;
    var strMenAide05 = “https://www.abracadabrapdf.net/?p=1591&#8221;;
    }
    // AJOUT DU MENU
    app.addMenuItem({ cName: “-“, cParent: “Help”, nPos: 21, cEnable: false, cExec:null});
    app.addSubMenu({ cName: strMenAide00, cParent: “Help”, nPos: 22});
    app.addMenuItem({ cName: strMenAide04, cParent: strMenAide00, nPos: 0, cExec: “app.launchURL(strMenAide05);”,});
    app.addMenuItem({ cName: strMenAide02, cParent: strMenAide00, nPos: 1, cExec: “app.launchURL(strMenAide03);”,});
    app.addMenuItem({ cName: strMenAide01, cParent: strMenAide00, nPos: 2, cExec: “app.launchURL(‘https://abracadabrapdf.net/forum/&#8217;);”,});
    //
    // altération de la variable
    global.aTmenAide = 1;
    }
    //
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    //
    }
    //
    ////////////////////////////////////////////////////////////////////////////////////////////////////
    Merlin
    Maître des clés

    You should try the COMMENTS REPORT plugin which is part of the free abracadabraTools :
    https://www.abracadabrapdf.net/utilitaires/utilities-in-english/abracadabratools_en/

    It can be customized (I can give you the source JS file) to works with Acrobat Pro, so comments will be exported as a new “Report”, which is a regular PDF file.

    See:
    https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/Acro12_MasterBook/JS_API_AcroJS/Report.htm?rhhlterm=report&rhsyns=%20
    &
    https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/Acro12_MasterBook/JS_API_AcroJS/Report_methods.htm?rhhlterm=report&rhsyns=%20

    Merlin
    Maître des clés

    radzmar is a well known XFA/Designer’s guru.
    :extra:

    en réponse à : Champs de formulaire modifiés à l’enregistrement #69575
    Merlin
    Maître des clés

    :bonjour:

    Merlin
    Maître des clés

    Il y a deux approches, soit les placer en fonction de leur ordre d’arrivée (donné par la variable j), soit les placer sous le bouton cliqué (ce qui est déjà le cas) en modifiant le décalage par rapport aux coordonnées du bouton.

    Merlin
    Maître des clés

    Moi je trouve que ça fonctionne plutôt bien, j’en ai même profité pour modifier la première ligne du script de façon à avoir exactement le même script dans chaque bouton.
    Exemple ci-joint.
    :Smiley03:

    Merlin
    Maître des clés

    Supprime cette ligne dans les scripts des boutons, c’est elle qui déplace les icônes des PJ déjà importées :

    Code:
    annots.point =[aRect[0]-1*(j), aRect[1]-15];
    Merlin
    Maître des clés

    Les boutons appellent toutes les pj du doc, meme celles qui déjà ont été mises avant

    Je ne comprend pas cette phrase.  :Euuuh:

    Peut-on paramétrer, sur 2 boutons différents, l’import de PJ à 2 ou plusieurs endroits différents du formulaire ?

    Oui, en utilisant un script différent dans chaque bouton, la différence étant les coordonnées de placement des PJ.
    C’est à dire la ligne : point: [400,500],

    en réponse à : Champs de formulaire modifiés à l’enregistrement #69573
    Merlin
    Maître des clés

    Bonjour et bienvenue

    C’est la première fois que je vois ça.  :Euuuh:
    Le formulaire fonctionne correctement avec Acrobat et Foxit Reader, ce qui tendrait à vérifier une fois de plus que Edge, Chrome, etc. ne respectent pas toutes les spécifications du format PDF (alias norme ISO 32000) et qu’ils sont avant tout des navigateurs web.

    La bonne nouvelle c’est que ce n’est pas très pénalisant, la mauvaise nouvelle c’est que je ne vois pas du tout quoi faire…

    En attendant que Microsoft et Googol corrigent les bugs de leurs logiciels tu peux toujours utiliser ce truc de la mort qui tue pour forcer l’ouverture de ton formulaire dans un “vrai” logiciel lecteur de PDF (Acrobat, Foxit…) :
    https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/forcer-utilisation-pdf-avec-acrobat-reader/

    en réponse à : Logiciel de substitution à Adobe Acrobat Pro pour Mac #69514
    Merlin
    Maître des clés

    Je ne connais pas PDF Expert, ça fait des années que je ne l’ai pas ouvert.
    À l’époque c’était une bouse qui s’appuyait sur les PDF Services d’Apple, qui n’existait que sur Mac et qui n’offrait rien de plus qu’Aperçu.

    Merlin
    Maître des clés

    Toutes les réponses à tes questions se trouvent dans le (long) sujet dont j’ai posté l’URL ci-dessus, avec des exemples à télécharger  :geek:
    https://abracadabrapdf.net/forum/index.php/topic,3476.html

    Merlin
    Maître des clés

    August is vacation time, you should try again in September

    Merlin
    Maître des clés

    I don’t believe there are active members of this forum yet who are familiar with AEM/Designer or XFA-PDF.
    Do not be surprised if this subject remains unanswered.
    :joker:

Affichage de 99 réponses de 595 à 693 (sur un total de 10,151)