Donnez vie à vos documents numériques !
 

brumbies

Toutes mes réponses sur les forums

Affichage de 37 réponses de 100 à 136 (sur un total de 136)
  • Auteur
    Réponses
  • brumbies
    Membre

    Bonjour,

    Tes idées sont bonnes.

    Idée 1 : restritive car l’on ne laisse le choix que de DN
    On peut utiliser la notification simplifiée en multipliant la conversion souhaitée par la valeur de ta liste déroulante DN (s1 dans l’exemple)

    Idée 2 : plus de lignes de code
    On peut procéder comme suit:
      1) réinitialiser l’ensemble des champs lors de l’activation de l’un d’eux
      2) script placer dans l’onglet calcul

    Une troisième idée serait de faire comme les sites de conversion de devises.
    en rentrant un chiffre dans un champs texte et de choisir l’une des 4 mesures (DN, Pouces, Diamètre  et diamètres extérieurs) via un menu déroulant
    tu peux combiner les 2 premières idées pour le réaliser

    :Smiley01:

    en réponse à : Equivalent de A99A et AA99A en script #57816
    brumbies
    Membre

    :bravo:

    en réponse à : Equivalent de A99A et AA99A en script #57814
    brumbies
    Membre

    Bonjour,

    Le problème que je vois c’est la gestion de 2 masques arbitraires distincts l’un à 4 caractères, l’autres à 5 caractères dans un même champs texte.
    Une solution serait de mettre la fonction toUpperCase() en format personnalisé et de gérer le format via un script de désactivation de ton champs texte en y intégrant un script du style de celui-ci :

    Code:
    var longueur = getField(“Kernel2”).length;
    var compteur = 0;

    var gauche = getField(“Kernel2”).value.substring(0,longueur – 3);
    var milieu = getField(“Kernel2”).value.substring(longueur – 3,longueur – 1);
    var droite = getField(“Kernel2”).value.substring(longueur – 1,longueur);

    if(gauche.match(/^[A-Za-z]+$/) != gauche && gauche != “”)
    compteur ++;
    if(milieu.match(/^[0-9]+$/) != milieu && milieu != “”)
    compteur ++;
    if(droite.match(/^[A-Za-z]+$/) != droite && droite != “”)
    compteur ++;

    if(compteur > 0)
    {
    app.alert(“Ce champs doit être de la forme suivante : AA99A ou A99A.nMerci de revoir.n”);
    this.getField(“Kernel2”).setFocus();
    }

    le script est à placer au niveau de ton champs “Kernel2” dans Actions et en choisissant bien “champs désactivé”.
    tu sauras si la saisie est valide uniquement lors de la sortie du champs texte.

    Je regarde si on peut intégrer ce code au niveau du format via un script de touche …
    :Smiley01:

    en réponse à : JavaScript (ou autre) pour calculer surface d’un disque #57823
    brumbies
    Membre

    :Smiley03:

    en réponse à : JavaScript (ou autre) pour calculer surface d’un disque #57821
    brumbies
    Membre

    Bonjour,

    le signe ^ est un opérateur en javascript qui permet une comparaison OU en bit-à-bit exclusif => donc inutile de le retenir, perso je ne m’en suis jamais servi …

    Tu as 2 solutions pour obtenir la surface d’un disque :

    1er : via la notation simplifiée
      =>  3.14 * champs1 * champs1
    ou 3.14 est un arrondi de PI et champs1 est le rayon de ton disque

    2eme : via un script de calcul personnalisé
      => this.event.value = Math.PI * Math.pow(variable , puissance)
    avec variable = rayon de ton disque (this.getField(“xxx”).value)
    et puissance = 2 ici car on élève le rayon au carré.
    :Smiley01:

    PS: pour calculer la racine carré d’un nombre, tu peux utiliser la fonction Math.pow() avec comme puissance = 0.5

    en réponse à : Peut-on griser un bouton radio ? #57810
    brumbies
    Membre

    Bonsoir,

    1) utilité du champs texte masqué :
    il n’est pas possible “en natif” de décocher un bouton radio, le champs texte masqué associé aux scripts intégrés au bouton radio p705 le permet.
    c’était pour te montrer la possibilité de “griser/dégriser” le bouton radio Group1.

    2) ensuite le script que je t’ai mis, affecte au groupe bouton radio “Group1” une couleur de fond, une couleur de contour et le met en lecture seule ou non.
    Donc ce que tu demandes en l’état n’est pas possible car le fait de cocher a1 ou a2, grisera le groupe “B” et “C” en totalité.

    Une alternative est de créer 5 groupes :
    – groupe “A” avec les options a1, a2 et a3
    – groupe b1
    – groupe b2
    – groupe c1
    – groupe c2

    ce qui te permettra de gérer indépendamment b1/b2 et c1/c2.

    ensuite, pour faire comme si b1/b2 et c1/c2 faisaient respectivement partie du même groupe, tu peux le gérer via la ligne:
    this.getField(“xx”).value = “Off”; associé au déclencheur “Souris relâchée”.
    :Smiley01:

    brumbies
    Membre

    Bonsoir,

    Je sèche sur la raison de ton problème… je suis preneur si quelqu’un à la réponse
    j’ai modifier 2-3 codes et ça a l’air de fonctionner

    en réponse à : Peut-on griser un bouton radio ? #57808
    brumbies
    Membre

    Bonsoir,

    Je te joins un fichier pour te présenter une solution.

    brumbies
    Membre

    Bonsoir,

    Il faut prendre la valeur d’exportation de tes champs dr1, dr2 et dr3 au niveau de ton test, ce qui donne :

    var d1=this.getField(“dr1”).value;
    var d2=this.getField(“dr2”).value;
    var d3=this.getField(“dr3”).value;
    if(d1 == 1 && d2 == 1 && d3 == 3)
    {
    this.getField(“art”).value=”12345678″;
    // ou  this.event.value=”12345678″;
    }

    par contre le script est à placer au niveau de l’onglet calcul et non de l’onglet validation.

    Pour finir et pour info, si ta valeur d’exportation avait été une lettre comme A alors il aurait fallu mettre “A” au niveau de ton script lors du test

    brumbies
    Membre

    Bonjour,

    On aurait aussi pu utiliser le code suivant :
    this.getField(“TEST”).value = “test2”; // ou “test2” est le nom de l’option de bouton radio désiré

    De plus, je vous joins un exemple pour décocher un bouton radio via un script et l’aide d’un champ texte invisible à l’écran.

    en réponse à : Ne pas afficher le petit "+" lorsque le champ est trop petit #57741
    brumbies
    Membre

    Javascript peut être intègre aussi bien dans un pdf que dans une page web. Ensuite il faut un utilitaire pour l’interpréter, soit un navigateur pour une page web, soit Acrobat (par exemple) pour un pdf.

    Cependant que ce soit dans l’un ou l’autre cas il s’agit du “même langage” (même s’il y a des fonctions spécifiques a l’un et l’autre – d’où le fait qu’Adobe ait mis a dispo des utilisateurs la Bible :Javascript for Acrobat API Référence)

    Quelque soit le support utilise, les opérateurs, la définition des variables, les structures de contrôles, etc… Sont identiques.
    Exemple : Math.PI qui renvoi un arrondi du nombre PI (ok il faut le pouvoir le placer…)
    Donc pour créer un script “optimum”, il faut combiner les données présentes dans la Bible citée plus haut avec les données des différents tutoriels présents sur le web sur l’initiation a javascript comme le site ci-dessous par exemple :https://developer.mozilla.org/fr/docs/Web/JavaScript/Une_réintroduction_à_JavaScript

    Dans le cas présent, switch est utile car on est sur des itérations simples avec une condition unique sur menu31
    On aurait aussi pu prendre le script de bendegards et l’alléger en retirant les else puisque l’on est sur un nombre limite de possibilité via le menu (par contre si la saisie était libre via un champs texte par exemple alors les else se justifiait)
    Une autre possibilité aurait été de préférer une liste box a un menu et d’affecter la valeur d’exportation de la liste box au champs “raison dossier”

    Tous les chemins mènent a Rome !  :Smiley01:

    en réponse à : Outils "Mesures" Acrobat Pro XI #57709
    brumbies
    Membre

    Bonsoir,

    Je t’ai fait une copie écran pour visualiser la marche à suivre…
    :Smiley01:

    en réponse à : Scripts pour faire une liste avec valeur d’Exportation #57691
    brumbies
    Membre

    Ce n’est pas envisageable comme tu le décris.
    Par contre on peut modifier un peu le code initial pour obtenir ce que tu veux…

    Dans le code initial, avant de remplir le menu déroulant, je remplis un tableau à 2 colonnes et une fois constitué, je remplis le menu déroulant à partir de ce tableau.

    Donc le plus simple c’est d’avoir un champ texte (Texte2) qui va recevoir les actions associées aux codes saisis (Texte et Texte1) en recherchant dans le tableau initialement renseigné les lignes correspondantes aux 2 codes et en affectant à Texte2 l’action associée sur la même ligne dudit tableau (un peu comme si tu utilisais la fonction Recherchev sous Excel).

    Le code est sur le bouton en haut à droite

    :Smiley01:
    PS: n’hésite pas à l’avenir de décrire davantage ce que tu recherches dès le début…

    en réponse à : Scripts pour faire une liste avec valeur d’Exportation #57689
    brumbies
    Membre

    Bonjour,
    Pas de soucis sur ton niveau, on a tous commencé en bas… et on apprend tous les jours!

    Logique que le code ne fonctionne pas avec des nombres à 4 chiffres, car dans ton post d’origine tu te cantonnais à des codes à 5 chiffres uniquement.

    Je t’ai apporté une modif prenant en compte des codes à 4 ou 5 chiffres.
    :Smiley01:

    en réponse à : Scripts pour faire une liste avec valeur d’Exportation #57687
    brumbies
    Membre

    Bonsoir,
    c’est faisable, mais perso je ne ferai pas comme tu le décris.
    On ne peut pas saisir un nombre ou un texte dans un menu déroulant mais dans un champs texte.

    On place un champs texte ou tu saisiras ton code postal (enfin je suppose) et on place un champs menu déroulant (comme cela on n’a pas besoin de modifier le code existant du fichier précédent) en mode lecture seul sur lequel on inverse le sens des valeurs (5 chiffres en valeur d’exportation et nom associé dans la partie “visible” de ton menu déroulant.
    je place le code au niveau du champs texte lorsque celui-ci est désactivé
    Je t’ai fait un exemple et te laisse l’adapter.
    :Smiley01:

    en réponse à : Conditions avec 2 cases à cocher #57707
    brumbies
    Membre

    Bonsoir,
    Tu étais près du but.
    J’ai apporté 2-3 modifs à ton code.
    :Smiley01:

    en réponse à : Scripts pour faire une liste avec valeur d’Exportation #57685
    brumbies
    Membre

    Bonjour
    J’ai mis à jour ton doc.

    exemple fait à partir de données copier d’un excel (sous la forme ci-dessous) et coller dans ton champs “items”:
          aaaaa choix1, 2 et 3  bbbbb choix4 et 5  ccccc choix6

    :Smiley01:

    en réponse à : SPAWN de page template et Adobe Reader #57652
    brumbies
    Membre

    Super! Merci Merlin
    Je ne connaissais pas cette subtilité
    :bravo:

    en réponse à : SPAWN de page template et Adobe Reader #57648
    brumbies
    Membre

    c’était l’objet de mon premier post, ca ne fonctionne sur adobe reader qu’à partir de la version 11 et donc logique que ca ne fonctionne pas sur le version 10
    :bonjour:

    en réponse à : SPAWN de page template et Adobe Reader #57645
    brumbies
    Membre

    Je connais très bien le secret bancaire…

    De ce que j’ai compris de ta demande initiale, c’est que tu cherches à dupliquer une page d’un pdf autant de fois que le nombre choisit par l’utilisateur via une liste déroulante.

    Dans ce cas, je t’ai fait un fichier te montrant un exemple de code que tu peux utiliser.
    => j’ai créé un modèle de document (template) nommée “Page1” que j’ai décidé de masquer par défaut.
    => J’ai mis une liste déroulante avec des choix allant de 1 à 4 et en cliquant sur le bouton dupliquer ca te duplique la “Page1” autant de fois que le nombre sélectionné dans la liste déroulante.
    => J’ai mis aussi un bouton supprimer pour supprimer le nombre de pages créé.

    Ce code fonctionne avec adobe reader 11
    :bonjour:

    en réponse à : SPAWN de page template et Adobe Reader #57643
    brumbies
    Membre

    Le plus simple serait de poster ton fichier que je regarde.

    en réponse à : SPAWN de page template et Adobe Reader #57641
    brumbies
    Membre

    Bonjour,

    Tu le teste avec quelle version d’adobe reader?
    Car il me semble que seul la version 11 permet d’intervenir (via ton code) sur des modèles de page.
    :bonjour:

    en réponse à : Effacer une partie des champs dans un formulaire #57466
    brumbies
    Membre

    Bonjour,

    1) l’une ou l’autre méthode de réinitialisation de champs fonctionne très bien. Celle de Merlin est utile pour les cas ou tu as beaucoup de champs à gérer et que tu ne doives en sélectionner qu’une partie (comme dans ton cas), l’autre est utile si tu as peu de champs (donc dérouler une liste peu volumineuse de champs un à un).

    2) Oui c’est possible, pour cela il faut au préalable que tu affectes à tes champs concernés une “valeur d’exportation” (propriétés de la liste déroulante => Options => valeur d’exportation).
    Ensuite tu utilises une boucle “For” pour parcourir des champs journaliers (l’application de la Convention de dénomination des champs de formulaire te serais aussi utile ici aussi) et l’élément de comparaison “If” pour tester la valeur de ton champs (via sa valeur d’exportation this.getField(Nom du champs).value ).

    :Smiley01:

    en réponse à : Faire le lien entre un formulaire et un fichier CSV #57470
    brumbies
    Membre

    Bonjour,

    Regarde du côté des 2 sujets ci-dessous, tu devrais trouver ce que tu cherches :
    http://abracadabrapdf.net/forum/index.php/topic,2228.0.html
    http://abracadabrapdf.net/forum/index.php/topic,2289.0.html

    :Smiley01:

    en réponse à : Calcul heures totale Intervention #57441
    brumbies
    Membre

    Pas mieux non plus !
    Merlin n’est pas Grand Magicien pour rien !
    :Smiley08:

    en réponse à : Format des champs date dans un formulaire #57454
    brumbies
    Membre

    Idem Merlin, Degards, je m’incline ! Le plus simple est de passer par un format de date personnalisée c’est clair (à moins que le but soit un horodatage…).

    Degards : débuter en script, pour ma part j’ai commencer par des “petits scripts” (affectation de valeurs calculées à un champs, rendre visible un champs en fonction d’une condition, …).
    => Ce forum est une mine d’or pour t’aider à commencer.
    => en y associant la bible “JavaScript™ for Acrobat® API Reference” http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf

    en réponse à : Calcul heures totale Intervention #57438
    brumbies
    Membre

    Pourquoi faire simple quand on peut faire compliquer !  :geek:

    “Masque arbitraire” : Je m’incline, je ne connaissais pas cette possibilité, mais elle est à recommander plutôt qu’un script. Facilité + gain de temps !

    Merci Merlin  :bonjour:

    en réponse à : modification document PDF #57455
    brumbies
    Membre

    Bonjour,

    Essai en suivant le tuto suivant et dis nous si tu as la partie “format”:
    http://wwwimages.adobe.com/content/dam/Adobe/fr/products/acrobat/pdfs/adobe-acrobat-xi-edit-text-and-images-in-a-pdf-file-tutorial.pdf

    :bonjour:

    en réponse à : Format des champs date dans un formulaire #57451
    brumbies
    Membre

    Bonsoir,

    Avant de commencer, tu ne peux pas utiliser un format de date “standard” disponible au niveau de ton champs de formulaire? C’est le plus simple… 

    Sinon, ci-joint un fichier reprenant 2 solutions:
    1) tu saisis ta date au format “201407150945” et en sortant du champs il se mets selon le format souhaitez.
    => inconvénient : risque d’erreur de saisie important (je n’ai pas géré le nombre de caractères ni la saisie de lettres, mais c’est possible)
    Cette solution est proche du topic précédent http://abracadabrapdf.net/forum/index.php/topic,2482.0.html

    2) si ton souhait est d’horodater tes documents, le mieux est de récupérer la date et l’heure système
    => c’est ce que fait le bouton “horodater”.

    A bientôt.
    :bonjour:

    [attachment deleted by admin]

    en réponse à : Calcul heures totale Intervention #57436
    brumbies
    Membre

    Bonjour,

    Ci-joint un exemple de fichier ou je t’ai mis une fonction afin de répondre à ta demande :

    afin de faciliter la saisie de l’heure en intervention, est il possible de saisir 1230 ce qui se transforme en 12:30 automatiquement

    Je n’ai pas mis de contrôle spécifique si tu dépasses le nombre de caractère ou si si tu ne saisis pas une heure valide, mais tu peux le rejouter sans problème.

    et ensuite avec la méthode de Merlin, je t’ai mis le calcul sur le 2ème champs “heure de fin” (script de champs désactivé)

    A bientôt.

    [attachment deleted by admin]

    brumbies
    Membre

    Bonjour,

    pour le script :

    Sur ton bouton B1 tu places le code :
    this.getField(“B2”).buttonPosition = position.overlay;
    this.getField(“B2”).buttonImportIcon();
    this.getField(“B2”).readonly = true;
    this.getField(“B2”).fillColor = color.transparent

    et ensuite tu ne crées pas n boutons sur n pages, tu crées 1 seul bouton B2 que tu dupliques sur l’ensemble de tes pages à entête.

    Attention avec cette solution tu visualiseras uniquement le logo sur le bouton B2 et non sur le bouton B1, mais je pense que c’est ce que tu cherches à avoir?
    :Smiley01:

    en réponse à : Porte-document PDF avec des fichiers images #57367
    brumbies
    Membre

    Bonsoir,

    Je n’arrive pas à reproduire ton problème.
    Peux tu nous dire qu’elle version d’acrobat tu utilises?
    As tu essayé de changer de photos? de changer de format d’image?

    :Smiley01:

    brumbies
    Membre

    Bonsoir,

    Quand tu affectes la page de destination à ton lien augmente le % de visualisation au préalable (si tu as la possibilité de mettre en pleine largeur ou en pleine hauteur ca serait mieux – à tester).
    => il faut mettre le même % de visualisation que celui qui est paramétré dans les propriétés du documents (vue initiale / Zoom)

    Ca devrait répondre à ton besoin
    :Smiley01:

    brumbies
    Membre

    Bonsoir,

    Le “event.target” fonctionne mais limite l’affectation de la fonction (ici buttonPosition et buttonImportIcon) au seul bouton qui “reçoit” l’évènement.
    Donc tu as 2 possibilités pour faire ce que tu veux :
    1) Soit tu n’utilises qu’un seul bouton que tu dupliques et place en entête sur les autres pages.
    Dans ce cas tu peux utiliser le code suivant à placer dans les Actions => Souris relachée => Exécuter un script Javascript :

    Code:
    event.target.buttonPosition = position.overlay;
    event.target.buttonImportIcon();
    event.target.readonly = true; // permet de mettre ton bouton en “lecture seul”
    event.target.fillColor = color.transparent; // permet de mettre la couleur de fond transparente

    Par contre, pour modifier le logo tu dois fermer et rouvrir ton fichier.

    2) Soit tu utilises 2 boutons, l’un sur la première page permettant de choisir le logo, et l’autre que place et duplique sur chaque page au niveau de l’entête.
    Dans ce cas, le code est le suivant et est à placer au même endroit :

    Code:
    this.getField(“Nom du bouton à entête”).buttonPosition = position.overlay;
    this.getField(“Nom du bouton à entête”).buttonImportIcon();
    this.getField(“Nom du bouton à entête”).readonly = true; // permet de mettre ton bouton en “lecture seul”
    this.getField(“Nom du bouton à entête”).fillColor = color.transparent; // permet de mettre la couleur de fond transparente

    Etant entendu que les lignes readonly et fillColor sont inutiles et peuvent être paramétrées à la création du 2nd bouton (ce que je te conseille).

    Sinon une dernière solution serait de mettre le 2ème code dans un script d’ouverture de document et dans ce cas inutile de créer le 1er bouton.

    En espértant avoir été clair.
    :Smiley01:

    en réponse à : Calcul de la clé RIB d’un compte en javascript #57327
    brumbies
    Membre

    mea culpa, je me suis focalisé sur un numéro de compte comprenant des lettres, j’ai modifié le fichier pour qu’il prenne en compte les différents types de numéro de compte.
    Ca devrait fonctionner maintenant quelque soit ton RIB.
    Je ne teste plus le nombre de caractère mais cela est faisable au niveau cu champs “compte” directement.
    :Smiley02:

    [attachment deleted by admin]

    en réponse à : Calcul de la clé RIB d’un compte en javascript #57326
    brumbies
    Membre

    Oui, je te joins le fichier avec le script (au niveau du champs “Clé”).
    Il y a 2 choses :
    1) il ne gère pas les évènements de saisi (donc la clé RIB s’affiche qu’une fois le champs “compte” “désactivé”)
      => perso, j’utilise très peu les évènements.
    2) un numéro de compte comprends 11 chiffres donc la clé n’est calculé que si le champs “compte” comprends 11 caractères
      => on peut supprimer ce controle en supprimant la condition “if(num.length == 12)”
      => j’ajoute le caractère “a” à la valeur du champs “compte” afin de prendre en compte les numéro commencant par 0 (il y a peut être une autre solution).
    :Smiley01:

    [attachment deleted by admin]

    en réponse à : Calcul de la clé RIB d’un compte en javascript #57324
    brumbies
    Membre

    Bonsoir,
    tu peux mettre le code ci-dessous dans les scripts de calcul personnalisé (il y a surement plus “court” pour transcoder du alphanumérique en numérique suivant la table de transco que j’ai repris).
    Pour info, j’ai repris les noms de tes champs de formulaires.

    Code:
    var a = “”;
    num = “a” + this.getField(“compte”).value;
    if(num.length == 12)
    {
    for(var i = 2; i<=12; i++)
    {
    if((num.substring(i-1,i)/1) == num.substring(i-1,i))
    {
    a = a + “” + num.substring(i-1,i);
    }
    else
    {
    if( num.substring(i-1,i) == “A” || num.substring(i-1,i) == “J”)
    a = a + “1”;
    if( num.substring(i-1,i) == “B” || num.substring(i-1,i) == “K” || num.substring(i-1,i) == “S”)
    a = a + “2”;
    if( num.substring(i-1,i) == “C” || num.substring(i-1,i) == “L” || num.substring(i-1,i) == “T”)
    a = a + “3”;
    if( num.substring(i-1,i) == “D” || num.substring(i-1,i) == “M” || num.substring(i-1,i) == “U”)
    a = a + “4”;
    if( num.substring(i-1,i) == “E” || num.substring(i-1,i) == “N” || num.substring(i-1,i) == “V”)
    a = a + “5”;
    if( num.substring(i-1,i) == “F” || num.substring(i-1,i) == “O” || num.substring(i-1,i) == “W”)
    a = a + “6”;
    if( num.substring(i-1,i) == “G” || num.substring(i-1,i) == “P” || num.substring(i-1,i) == “X”)
    a = a + “7”;
    if( num.substring(i-1,i) == “H” || num.substring(i-1,i) == “Q” || num.substring(i-1,i) == “Y”)
    a = a + “8”;
    if( num.substring(i-1,i) == “I” || num.substring(i-1,i) == “R” || num.substring(i-1,i) == “Z”)
    a = a + “9”;
    }
    }
    var RIB = 97 – ( (89 * this.getField(“banque”).value + 15 * this.getField(“guichet”).value + 3 * a ) % 97 );
    this.getField(“Cle”).value = RIB;
    }

    :Smiley01:

Affichage de 37 réponses de 100 à 136 (sur un total de 136)