Donnez vie à vos documents numériques !
 

jctremblay

Toutes mes réponses sur les forums

Affichage de 99 réponses de 1 à 99 (sur un total de 134)
  • Auteur
    Réponses
  • en réponse à : Tampons – Texte retour “Undefined” #73279
    jctremblay
    Participant

    Merci mon cher bebarth!
    J’était bien conscience que mon code n’était pas optimale. 😀

    Je vais comparer.
    Merci 1000x

    en réponse à : Tampons – Texte retour “Undefined” #73272
    jctremblay
    Participant

    Thom Parker (l’auteur du fameux «All About PDF Stamps») as répondu dans le forum de la communauté.
    L’erreur était que:

    The “item_id” in a dialog object must be 4 and only 4 characters long.
    Otherwise that item cannot be referenced and returns undefined as a value. 

    en réponse à : Tampons – Texte retour “Undefined” #73271
    jctremblay
    Participant

    C’est rassurant… Je ne suis donc pas fou.
    J’ai publié sur la «Community Adobe». On verra ce que nos amis nous diront.

    en réponse à : Ajouter numérotation après un ajout de page modèle #73252
    jctremblay
    Participant

    En effet! 😕

    Pas de rapport, mais j’ai ajouté un this.resetForm(prefix); avant de remplir les champs de numérotation, car dans mon doc actuel cela m’assurer de réinitialiser le contenue des modèles dupliquer (je n’utilise pas ici de modèle caché).

    en réponse à : Ajouter numérotation après un ajout de page modèle #73250
    jctremblay
    Participant

    Pour moi ça fonctionne… dans le PDF la page 2 [pageindex 1] (le modèle) lorsque copier, devient la page 3 [pageindex 2] et les champs dupliquer sont avec un P2. au début.

    Si j’utilise var pageIndex = this.pageNum +1;

    La console me donne ceci et les champs à modifier ne sont pas reconnue
    prefix: P3
    TypeError: this.getField(…) is null

    en réponse à : Ajouter numérotation après un ajout de page modèle #73245
    jctremblay
    Participant

    C’est fait (le prototype en pièce jointe). J’ai placé mes variables de compteurs sur la page 1 (ils seront invisibles au final). Puis, chaque page (2,3,7 et 8) avec un compteur est un modèle avec un bouton. Pour la page 2, comme ceci:

    var expTplt = getTemplate("p2");
    expTplt.spawn(this.pageNum+1,true,false);
    var newCount = parseInt(this.getField("counterP2").value + 3);
    this.getField("counterP2").value = newCount;
    var pageIndex = this.pageNum;
    var prefix = "P" + pageIndex;
    this.getField(prefix +".p2.p2_1").value = newCount;
    this.getField(prefix +".p2.p2_2").value = newCount + 1;
    this.getField(prefix +".p2.p2_3").value = newCount + 2;

    Dommage, le client à changer d’idée! 😐

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Ajouter numérotation après un ajout de page modèle #73244
    jctremblay
    Participant

    Un compteur par couleur (donc quatre au total dans ce document).
    Pour ce qui est de supprimer les pages. En fait, non, ils ne pourrons pas. (Reader ne le permet pas, à moins de leurs offrir un bouton/script).

    en réponse à : Ajouter numérotation après un ajout de page modèle #73242
    jctremblay
    Participant

    Les pages à dupliquer sont elles toutes identiques ou bien ont elles un contenu différent ? Contenu différent 

    L’utilisateur a-t-il moyen de supprimer les pages dupliquées et si oui comment ? Non, sinon qu’avec le navigateur de page

    Dans l’image, un utilisateur pour dupliquer la section jaune, par exemple, dix fois. Donc, il y aurait plus que douze pages.

    Une solution encore plus simple serait de laisser l’utilisateur entrer même les numéros. Cela risque d’être ma solution considérant le temps que j’ai a y mettre. 😀

    en réponse à : Ajouter numérotation après un ajout de page modèle #73236
    jctremblay
    Participant

    Je me suis réjouis trop vite…
    En réalité, je vais avoir «4 liste» numérotés à configurer. Utiliser le pageIndex ne fonctionneras plus car les pages ne seront pas dupliquer toujours le même nombres ni le même ordre (voir l’image). Il me faudrais une façon de calculer le nombre de pages d’un templates spécifique, et d’utiliser ce nombre pour les calcules.

    Une idée de comment faire ça?

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Ajouter numérotation après un ajout de page modèle #73234
    jctremblay
    Participant

    Mes maths n’étaient pas correct… 😃 ceci fonctionne. (PDF joint pour les curieux)

    var pageIndex = this.pageNum;
    var prefix = “P” + pageIndex;
    var nbField = 3;
    this.getField(prefix +”.page.A”).value = pageIndex * nbField + 1;
    this.getField(prefix +”.page.B”).value = pageIndex * nbField + 2;
    this.getField(prefix +”.page.C”).value = pageIndex * nbField + 3;

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Ajouter numérotation après un ajout de page modèle #73231
    jctremblay
    Participant

    This seems to be working… the nbField variable is the number of fields on that page affected. Is there a better way of doing it?
    var expTplt = getTemplate("page");

    expTplt.spawn(numPages,true,false);

    var pageIndex = this.pageNum;

    var prefix = "P" + pageIndex;

    var nbField = pageIndex + 3;

    this.getField(prefix +".page.A").value = nbField + 1;

    this.getField(prefix +".page.B").value = nbField + 2;

    this.getField(prefix +".page.C").value = nbField + 3;

    • Cette réponse a été modifiée le il y a 7 mois et 2 semaines par jctremblay.
    • Cette réponse a été modifiée le il y a 7 mois et 2 semaines par jctremblay.
    en réponse à : Ouvrir une page web de type data #73212
    jctremblay
    Participant

    Merci!

    en réponse à : Ouvrir une page web de type data #73205
    jctremblay
    Participant

    Wow! Merci!
    Il ne resterais qu’a enlever l’extension dans le nom de la pièce jointe dans le popup.

    Que ferions nous sans toi mon cher @bebarth ? 😍

    en réponse à : Ouvrir une page web de type data #73188
    jctremblay
    Participant

    Bon… J’ai réussi à faire un menu sur un bouton comme ceci, mais chaque nom des pièces jointes doit être écrit manuellement.

    var menuItemNames = ["Le PDF 1", "Le PDF 2", "Le PDF 3", "Le HTML 1", "Le HTML 2"];
    var actions = [
    'this.exportDataObject({ cName: "PDF1.pdf", nLaunch: 2 });', 'this.exportDataObject({ cName: "PDF2.pdf", nLaunch: 2 });', 'this.exportDataObject({ cName: "PDF3.pdf", nLaunch: 2 });', 'this.exportDataObject({ cName: "html1.html", nLaunch: 2 });', 'this.exportDataObject({ cName: "html2.html", nLaunch: 2 });'
    ];
    var cChoice = app.popUpMenu.apply(app, menuItemNames);
    if (cChoice != null) { var selectedIndex = menuItemNames.indexOf(cChoice);
    if (selectedIndex >= 0 && selectedIndex < actions.length) {
    try {
    eval(actions[selectedIndex]);
    } catch (e) {
    app.alert("An error occurred while executing the selected action: " + e);
    } } } 

    Ce qui serait mieux c’est que le menu capture le nombre de pièces et leurs noms de façon dynamique. Ce qui permettrait de l’utiliser rapidement sans avoir à l’éditer pour chaque usage. À suivre… à moins que @bebarth ait une idée pour modifier ce code. Je joint le PDF

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Ouvrir une page web de type data #73187
    jctremblay
    Participant

    Oui. J’ai déjà vu ça… je cherche aussi par curiosité.
    Je publie ici si je trouve.

    en réponse à : Ouvrir une page web de type data #73182
    jctremblay
    Participant

    Oui. l’ouverture des pièces jointes est possible avec ceci (et ça marche pour les html aussi).

    this.exportDataObject({ cName: “PDF2.pdf”, nLaunch: 2 });

    Par contre quand j’essai de faire apparaitre un popup avec la liste de pièces jointes cela ne fonctionne pas. Ex:

    Voir le code dans le troisième bouton du fichier

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Ouvrir une page web de type data #73178
    jctremblay
    Participant

    Merci Merlin! C’est bien ce que je pensais.

    J’imagine que ce serait la même blocage de sécurité en essayant d’ouvrir un .html qui se trouve en pièce jointe ou l’écriture temporaire d’un fichier ainsi que son ouverture. Je me trompe?

    • Cette réponse a été modifiée le il y a 7 mois et 4 semaines par jctremblay.
    en réponse à : Liste déroulante et changement d’image #72916
    jctremblay
    Participant

    Cela a du sens… même si en réinitialisant les champs de listes, je n’attendais à ce qu’ils exécutent à nouveau la fonction de script personnalisé incluse dans ceux-ci. Ce qui n’est pas le cas.

    en réponse à : Liste déroulante et changement d’image #72912
    jctremblay
    Participant

    J’ai utilisé ceci au lieu d’un bouton Réinitialiser standard et cela marche.

    this.resetForm();
    var gReset = this.getField("gomette");
    gReset.fillColor = color.transparent;

    en réponse à : Liste déroulante et changement d’image #72911
    jctremblay
    Participant

    C’est bon aussi… 😀

    Tu sais pourquoi, un bouton réinitialiser le formulaire ne remets la couleur de défaut des «gommettes»?

    en réponse à : Liste déroulante et changement d’image #72908
    jctremblay
    Participant

    Putain… mon dernier script modifié marche bien. J’avais oublié un «m» dans gommette… 😮

    en réponse à : Liste déroulante et changement d’image #72907
    jctremblay
    Participant

    J’ai pensé à quelques choses comme ça, mais cela ne fonctionne pas.

    function light()
    {
    var cName = event.target.name;
    var nSuffix = cName.substring(cName.lastIndexOf('.')+1);

    if (!event.willCommit) {
    switch (event.changeEx) {
    case "Oui":
    var couleur=["RGB",0,1,0];
    break;
    case "Partiellement":
    var couleur=["RGB",1,1,0];
    break;
    case "Non":
    var couleur=["RGB",1,0,0];
    break;
    default:
    var couleur=["T"];
    }
    this.getField("gomette." + nSuffix).fillColor=couleur;
    }
    }

     

    en réponse à : Liste déroulante et changement d’image #72904
    jctremblay
    Participant

    Le voici…

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Liste déroulante et changement d’image #72902
    jctremblay
    Participant

    Oui, il y aura plusieurs séries de champs liste «couleurs» et «gommette».

    Si j’appelle la fonction
    light(event.target.name.substr(event.target.name.indexOf(".")+1));
    Il ne se passe rien, probablement car à la fin dans le this.getField(gommette).fillColor=couleur;
    le suffix n’est pas ajouter. L’extraction du suffix devrait être récupérer dans le script de document et non pas dans l’appelle de la fonction.

    je continue mes essai.

    en réponse à : Liste déroulante et changement d’image #72898
    jctremblay
    Participant

    Actuellement j’ai ceci comme script de document. Et je ne met que light(“gommette.2”); dans la zone de script de touche personnalisé

    function light(gommette)
    {
    var field = this.getField(gommette);
    if (!event.willCommit) {
    switch (event.changeEx) {
    case "Oui":
    var couleur=["RGB",0,1,0];
    break;
    case "Partiellement":
    var couleur=["RGB",1,1,0];
    break;
    case "Non":
    var couleur=["RGB",1,0,0];
    break;
    default:
    var couleur=["T"];
    }
    this.getField(gommette).fillColor=couleur;
    }
    }

    J’aimerai éliminer la nécessité d’entrée le nom du champs de la gomette.

    en réponse à : Liste déroulante et changement d’image #72897
    jctremblay
    Participant

    Quel beau hasard, je suis justement en train de faire ce genre de manipulation pour changer la couleur. C’est parfait. Par contre j’aimerai mettre ce script dans un fonction de script de document. Et configurer les variables (les champs «gommette» et la liste «couleurs») pour qu’ils soient automatiser selon le nom des champs ex: «couleurs.0» affecteras automatiquement «gommette.0», «couleurs.1» affecteras «gommette.1», etc.. Cela serait plus facile à modifier, et surtout lorsqu’une série de champs «couleurs/gommette» se retrouve dans une page.

    Je sais que ça se fait… mais je suis perdu! 😀

    en réponse à : Remplir les champs de texte seulement #72788
    jctremblay
    Participant

    Ce sont malheureusement des champs avec des noms différents et de document différents.

    L’idée c’est que je recherchais une méthode rapide de remplir les champs lors de la fabrication des formulaires afin d’en valide l’aspect, l’alignement, les polices, etc. Je suis paresseux… 😂

    De cliquer OK quelques fois pour les champs problématiques ne sera pas un grand souci.

    en réponse à : Remplir les champs de texte seulement #72785
    jctremblay
    Participant

    Bon, les gars vous me rassurer. J’ai tellement essayé de trucs… Ce n’est pas tous les formulaires qui possèdent des champs au format spécifique. Je vis donc vivre avec cette limitation.

    Merci!

    en réponse à : Liste des éléments dans la console #72775
    jctremblay
    Participant

    Merci! 😉

    en réponse à : Liste des éléments dans la console #72764
    jctremblay
    Participant

    Oh 😯!  C’est la classe comme d’habitude… merci!

    Je remarque que je peux le faire pour les liste d’option en remplaçant combobox par listbox en début de script. Serait-il possible d’avoir les deux types de liste dans un seul script?

    en réponse à : Liste des éléments dans la console #72760
    jctremblay
    Participant

    Aucun souci… 😀.

    Au final je l’ai modifié avec un app.response(); pour pouvoir l’executer sur une liste de mon choix.
    J’obtiens dans ma console la liste des: Éléments – Valeur d’exportation

    var fL = app.response();
    var f = this.getField(fL);
    var numItems = f.numItems;
    console.clear();
    console.show();
    for (var i=0; i < f.numItems; i++) {
    console.println(f.getItemAt(i,false) + " - " + f.getItemAt(i,true));
    }

    en réponse à : Liste des éléments dans la console #72758
    jctremblay
    Participant

    J’y suis arrivé…

    console.show();
    console.clear();
    var field = this.getField("list");
    var numItems = field.numItems;
    for (var i = 0; i < numItems; i++) {
    var displayValue = field.getItemAt(i, false);
    console.println(displayValue);
    }

    en réponse à : Liste des éléments dans la console #72757
    jctremblay
    Participant

    Pour être plus précis… le code que j’ai mis va fonctionner SEULEMENT si les valeurs d’exportation sont vides. À ce moment je vais obtenir les éléments. Probablement, car les valeurs d’exportations utilisent le nom des éléments s’ils sont vides.

    en réponse à : Liste des éléments dans la console #72756
    jctremblay
    Participant

    En passant avec ceci j’obtiens les valeurs des items de la liste. J’ai besoin d’obtenir les éléments (items)…

    var listBoxField = this.getField("list");
    var numItems = listBoxField.numItems;

    for (var i = 0; i < numItems; i++) {
    var item = listBoxField.getItemAt(i);
    var displayText = item.toString();
    console.println(displayText);
    }

     

    en réponse à : Liste des éléments dans la console #72755
    jctremblay
    Participant

    Bonjour Merlin,

    J’obtiens seulement un undefined dans la console. Comment spécifier un champ de liste en particulier?

    en réponse à : Enlever 1 heure dans un champ #72369
    jctremblay
    Participant

    Merci Bebarth!
    Ça me sembles bon. Je valide…

    en réponse à : Enlever 1 heure dans un champ #72355
    jctremblay
    Participant

    Merci bebarth!

    Les deux options fonctionnent. L’option de case à cocher est la plus pertinente pour mes besoins. Par contre, j’ai besoin que chacune des lignes de champs (start.x, end.x, Duree.x) possède leur propre case à cocher et non pas une qui affecte tout les champs. Serait-e possible de spécifier la caseAcocher dans le champ de calcul, tout en gardant l’ajout dans le script de document? Le caseAcocher enleveras 1h quand cocher, remettras une heure quand décocher.

    Merci!
    Qui a besoin de ChatGPT quand on a un Bebarth!

    Attachments:
    You must be logged in to view attached files.
    en réponse à : BONNE ANNÉE 2023 ! #72336
    jctremblay
    Participant

    Merci JR! Bonne année à nous tous…

    en réponse à : Calcul ne fonctionnent pas #71948
    jctremblay
    Participant

    Merci!… Me voici corriger devant tous! 😀

    en réponse à : Calcul ne fonctionnent pas #71946
    jctremblay
    Participant

    Oh mince… si simple!
    Quand il s’agit que de nombre… le = est suffisant, mais quand c’est du texte il faut absolument == ?

    Détail important! J’ai passé des heures à chercher. 😂

    Merci!

    en réponse à : Message d’alerte qu’une seule fois #70523
    jctremblay
    Participant

    J’ai trouvé réponse à ma question dans une publication de 2004 dans le forum ici:
    [une-alerte-javascript-une-seule]

    en réponse à : Changer la couleur des textes lors de l’impression #70465
    jctremblay
    Participant

    Salut Merlin, 
    Les codes fournis ne fonctionne pas. Les textes par défaut demeurent lors de l’impression. Voir le PDF pour test.

    Par contre, j’ai réussi à changer la couleur avec ses code-ci:

    //Will Print
    for (var i=0; i<this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    if (oFld.type == "text" && oFld.value == oFld.defaultValue) {
    oFld.textColor = color.white;
    }
    }

    //Did Print
    for (var i=0; i<this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    if (oFld.type == "text" && oFld.value == oFld.defaultValue) {
    oFld.textColor = color.ltGray;
    }
    }

    Curieux de savoir pour quoi ton code ne fonctionne pas. 😀

    Attachments:
    You must be logged in to view attached files.
    en réponse à : Changer la couleur des textes lors de l’impression #70450
    jctremblay
    Participant

    Merci Merlin! J’essai ça…

    en réponse à : Changer la couleur des textes lors de l’impression #70420
    jctremblay
    Participant

    Me reste donc, juste a trouver comment cibler l’ensemble des champs. je cherche… 😀

    en réponse à : Changer la couleur des textes lors de l’impression #70417
    jctremblay
    Participant

    Il faut écrire un script d’action de document pour modifier les champs « lorsque le fichier sera imprimé » puis remettre les champs « lorsque le document a été imprimé ».

    C’est ce que j’ai essayé sans succès. Ce peut-il que je dois écrit mon script initial non pas dans une action (on blur/focus) mais en validation, ou calcul?

    en réponse à : Calcul de temps heures & minutes #70413
    jctremblay
    Participant

    Merci!
    J’ajoute à mes signets… 

    en réponse à : BONNE ANNÉE 2022 ! #70403
    jctremblay
    Participant

    Alors oui (avec un peu de retard) bonne année 2022 et merci milles fois pour ce forum!

    en réponse à : Concaténation en RTF avec span #70063
    jctremblay
    Participant

    J’ai trouvé pourquoi cela ne fonctionnais pas. Dans mon PDF j’ai un nombre de champs de texte plus grand que l’exemple que j’ai inclus. Là, je viens de réalisé que le chiffre ici:

    for (var i=0; i<=3; i++) {

    doit être plus petit que le totals de mes champs à fusionner. Sinon, cela ne marche plus. Donc, si j’ai 20 champs de texte, je vais devoir utiliser ceci

    for (var i=0; i<=19; i++) {

    en réponse à : Concaténation en RTF avec span #70062
    jctremblay
    Participant

    Je vis vérifier ce qui se passe réellement quand je vais avoir la tête libre… Merci.

    en réponse à : Concaténation en RTF avec span #70059
    jctremblay
    Participant

    Bebarth, tout est parfait sauf que maintenant j’ai décide de change les noms de mes champs de:

    o.txt.1 et o.date.1 à txt.1 et date.1 et maintenant, même si je les renommes dans le script, cela ne fonction plus. je n’y comprend rien. C’est surement une pécadille. Help! 😀

    en réponse à : Modifier un script de champ vers un script de document. #70058
    jctremblay
    Participant

    Si simple… Merci encore une fois. Je vais tenter de m’en souvenir.

    en réponse à : Modifier un script de champ vers un script de document. #70056
    jctremblay
    Participant

    Merci Merlin, c’est parfait! J’ai juste changé le this.getField(“o.box.” + nSuffix).value=”Yes”} pour “Oui”.

    Aussi, comment puis-je ajouter une autre modification sans répéter le if (event.value=="")
    if (event.value==""){this.getField("o.box." + nSuffix).value="Off"}
    if (event.value==""){this.getField("o.date." + nSuffix).value=""}
    else {this.getField("o.box." + nSuffix).value="Oui"} } 

    en réponse à : Concaténation en RTF avec span #70050
    jctremblay
    Participant

    Merci Bebarth! Comme c’est beau… Je vérifie tout ça et te reviens.

    en réponse à : Modifier 2 champs basé sur le résultat d’un 3e. #69997
    jctremblay
    Participant

    Merci Merlin,
    Du coup, cela a plus de sens et corrige un bogue avec ce que j’utilisais.

     

     

    en réponse à : Import du contenu de champs dans un autre PDF #69812
    jctremblay
    Participant

    Ok, j’ai trouvé quelque chose. Je crois même que c’était dans ce forum, mais je ne le trouve plus. À moins que cela m’a été fournis en privé.

    Merci!

    en réponse à : Import du contenu de champs dans un autre PDF #69811
    jctremblay
    Participant

    Bonjour,
    Cette technique je connais. Un peu pénible quand tu as à faire cela plusieurs fois.

    en réponse à : Combiner PDF avec des calques du même nom #69675
    jctremblay
    Participant

    C’est bon, tout roule. Merci!

    Presque… j’ai quelques fichiers ou les claques ne se fusion pas correctement. Calques qui ont été créer dans acrobat directement. Me reste à voir pourquoi.

    en réponse à : Combiner PDF avec des calques du même nom #69674
    jctremblay
    Participant

    OMG! Erreur de débutant… Je ne sélectionnait qu’un seul et le second comme destination.

    On ne peux pas fusionner vers un autre, mais avec un autre.

    C’est bon, tout roule. Merci!

    en réponse à : Combiner PDF avec des calques du même nom #69672
    jctremblay
    Participant

    Le script fonctionne bien pour supprimer les dossiers, mais par la suite la fonction Fusionner les Calques d’Acrobat ne fonction pas vraiment. Est-ce une limitation ou un bug? Les calques se merge au document.

    en réponse à : Combiner PDF avec des calques du même nom #69671
    jctremblay
    Participant

    Oh, interessant! J’essai avec mes documents.

    en réponse à : Champs visibles conditionnels #69403
    jctremblay
    Participant

    Merci bebarth ! C’est de toute beauté.  :jerisjaune:

    en réponse à : Champs visibles conditionnels #69401
    jctremblay
    Participant

    Bonjour, et merci pour toutes les pistes.

    Puisque les champs que j’utilisais étaient des boutons, il m’était impossible d’utiliser des scripts de calculs ou de validation. J’ai donc utilisé un JavaScript de document que j’appelle au besoin.

    Ceci n’était qu’un exercice pour saisir comment faire basculer la visibilité de boutons par d’autres boutons, puis d’afficher un bouton si les 3 premiers étaient visibles.

    Je joins mon PDF pour votre curiosité.

    en réponse à : Changement de couleur dans champ #69328
    jctremblay
    Participant

    Merci!

    «Je vais me coucher moins niaiseux !» Espression très québécoise.  :geek:

    en réponse à : Changement de couleur dans champ #69326
    jctremblay
    Participant

    Merci Bebarth!
    J’ai du changer le nom de la fonction et aussi mettre le nom du champ avec des ” “.

    Code:
    warning_states(event.value,this.getField(“box_a”));

    J’ai fait des test avec mon code en:
    a) action avec le champ désactivé;
    b) validation script;
    c) executé avec un bouton.

    Je joint mon document test pour les curieux.
    PS: Pour ce genre d’appel de function, quel est la meilleur endroit ou mettre le code? Validate, Calcule, Action? J’ai vu que le code ne s’exécute pas toujours correctement en action sur les champs (souris relâcher entre autre).

    en réponse à : Changement de couleur dans champ #69324
    jctremblay
    Participant

    Merlin, si je veux utiliser ce script mais dans un script de document pour pouvoir appeler la fonction et le nom du champs avec un “Mouse Up”, que dois-je faire.
    J’ai essayer de mettre le code comme ceci au début:

    Code:
    function color(champ)
    {
    var cSaisie = event.value;
    var oChampB = this.getField(champ);

    Et ceci dans le champ:

    Code:
    color(“nom du champ”);

    La console me donne toujours ceci quand je modifie le contenu du champ texte.

    Code:
    InvalidSetError: Propriété Set impossible, incorrecte ou inconnue.
    Field.fillColor:9:AcroForm:champ_text:Annot1:MouseExit:Action1

    Que faire pour inclure comme variable dans la fonction un champ de texte modifiable facilement selon les besoins dans les champs?

    en réponse à : Changement de couleur des aspect des champs #69318
    jctremblay
    Participant

    Quel “amateur”!  :jerisjaune:

    C’est exactement ça. C’est parfait.

    en réponse à : Changement de couleur des aspect des champs #69316
    jctremblay
    Participant

    Mais je ne suis pas un pro…

    Quel humilité!  :jerisjaune:

    Une autre question pour toi en lien…
    Si je veux changer le fond pour blue de tout les champs qui ne sont pas transparent ni blanc, je fais comment.

    J’ai essayé… avec des || ou && mais rien ne fonctionne.

    if (!color.equal(f.fillColor,(color.transparent || color.white))) f.fillColor=color.blue;

    en réponse à : Changement de couleur des aspect des champs #69314
    jctremblay
    Participant

    Wow! Merci. Que c’est agréable d’apprendre des pros comme toi et notre cher Merlin!

    :bravo:

    en réponse à : Changement de couleur des aspect des champs #69312
    jctremblay
    Participant

    Merci Bebarth,

    Le code eval est nécessaire en raison de l’utilisation de color.equal?
    Ça fonctionne bien. J’ai pu ainsi me créer un script d’application pour m’ajouter une commande de menu pour un rechercher/remplacement de couleur. :extra:

    Maintenant, si je veux, faire une recherche de tout ce qui n’est pas color.transparent. Je devrait remplacer le color.equal par quoi?

    en réponse à : Changement de couleur des aspect des champs #69310
    jctremblay
    Participant

    Pour faire suite….

    Je ne comprend pas pourquoi ceci fonctionne:

    Code:
    var fcolo = color.blue;
    var ccolo = color.yellow;
    for (var i=0; i    var f=this.getField(this.getNthFieldName(i));
        if (color.equal(f.textColor,fcolo)) f.textColor=ccolo;
    }

    Mais que ceci ne fonctionne pas, lorsqu’on utilise un app.response

    Code:
    var fcolo = app.response({cDefault: “color.blue”});
    var ccolo = app.response({cDefault: “color.yellow”});

    for (var i=0; i    var f=this.getField(this.getNthFieldName(i));
        if (color.equal(f.textColor,fcolo)) f.textColor=ccolo;
    }

    en réponse à : Changement de couleur des aspect des champs #69309
    jctremblay
    Participant

    Exactement ce que je voulais. Merci…. encore une fois!

    en réponse à : Changement de couleur des aspect des champs #69307
    jctremblay
    Participant

    Bonsoir bebarth!

    Ça, je connais. Ça permet d’uniformiser. Mais je ne veux pas ça, je veux juste changer le Yellow là ou il se trouve. Ce n’est pas tous les champs qui ont un fond Yellow.

    Puis je recherche, une façon de changer le yellow pour du red aussi présent dans comme couleur de texte, de trait, etc… sachant que certains champs n’ont pas de Yellow et ne devrait pas serte modifier.

    en réponse à : Menu déroulant > Multiples champs en lecture seule #69226
    jctremblay
    Participant

    Voici l’exemple !

    La soirée est arrivé assez vite!  :jerisjaune:  C’est juste parfait encore une fois. Cela m’ouvre d’énormes possibilités. Merci!

    en réponse à : Menu déroulant > Multiples champs en lecture seule #69223
    jctremblay
    Participant

    Il faudra donc utiliser une boucle pour extraire cette liste, et appliquer le readonly = false; pour chacun?

    en réponse à : Distribuer un formulaire dans un SharePoint #69220
    jctremblay
    Participant

    Aucune idée !

    Adobe ne semble pas avoir d’idée non plus!  :oh:

    Ce serait quand même intéressant qu’alternativement, ils utilisent le Document Cloud pour héberger les formulaires distribuer. L’idée que les réponses soient collectées automatiquement sans gestions de courriel et de pièces joints me semble une fonctionnalité intéressante. Mais bon, la logique d’un utilisateur n’est pas la même qu’un développeur.

    en réponse à : Meilleures pratiques pour les noms des champs #69191
    jctremblay
    Participant

    Si ces champs sont utilisés dans des notations simplifiées de calcul tu mets des devant.

    en réponse à : Accessibilité Balises et Javascript #69189
    jctremblay
    Participant

    Après un coup d’œil à la documentation SDK, je pense pas que les paramètres d’accessibilité soit exposés/modifiables avec du JavaScript.  :Smiley02:

    en réponse à : Champ de texte – Mot de passe #69186
    jctremblay
    Participant

    J’ai pris le temps de tester un peu.

    Le texte saisi dans un champ avec cette option Mot de passe ne peut pas être copié, il n’est pas exporté, et le champ est vidé lors de l’enregistrement du PDF. Donc, ce n’est pas pas une option pour «caché» le texte, mais bien pour permettre la saisi d’un mot de passe.

    Un exemple, une section d’un formulaire dédié à l’administration dont tous les champs sont invisibles à l’écran et donc à l’utilisateur. L’administrateur à l’aide de son mot de passe peut terminer le formulaire reçu de celui-ci.

    en réponse à : Aplatir certains champs #69147
    jctremblay
    Participant

    Ça donne le vertige, mais c’est beau…  :jerisjaune:  Merci Bebarth!

    Impressionant !
    :bravo:

    en réponse à : Aplatir certains champs #69144
    jctremblay
    Participant

    Merci! Cela fonctionne parfaitement.

    en réponse à : Aplatir certains champs #69142
    jctremblay
    Participant

    Merci… Si j’integre ton code pour aplatir seulement les champs bouton. J’ai une erreur. À la ligne 17.

    TypeError: this.getField(…) is null

    17:Console:Exec

    Tu as une idée… J’essai de récupérer le code d’AcrobatUsers pour aplatir tout les boutons.

    Code:
    var list=new Array();
    for (var i=0; i    var leChamp=this.getField(this.getNthFieldName(i));
        if (leChamp.type==”button”) list.push(leChamp);
    }

    var fields = new Array;
    for (var i = 0; i < this.numFields; i++) {
        fields = [
            this.getNthFieldName(i),
            this.getField(this.getNthFieldName(i)).display
        ];
        this.getField(fields[0]).display = display.noPrint;
    }

    for (var i = 0; i < list.length; i++) {
        this.getField(list).display = display.visible;
    }

    this.flattenPages({
        nStart: 0,
        nEnd: this.numPages – 1,
        nNonPrint: 1,
    });

    for (var i = 0; i < this.numFields; i++) {
        for (var j = 0; j < fields.length; j++) {
            if (fields[j][0] == this.getNthFieldName(i)) {
                this.getField(this.getNthFieldName(i)).display = fields[j][1];
            }
        }
    }

    en réponse à : Changer la propriétés d’un calque avec un Javascript #69180
    jctremblay
    Participant

    Dans ce que j’avais besoin, seulement la propiétés Print «Print when visible» qui devait changer pour «Never Print». 

    On va faire autrement.

    en réponse à : Aplatir certains champs #69140
    jctremblay
    Participant

    Je reviens avec une petite question concernant le script disponible sur le site Acrobatuser que j’ai mentionné plus haut.

    Ce script permet de saisir manuellement les noms des champs à aplatir comme ceci:

    var list = new Array();
    list = [
    “Text1”,
    “Text2”
    ];

    J’imagine que ce serait possible au lieu d’une liste spécifique, que le Array contiennent automatiquement tout les champs de type bouton. Comment pourrais-je inclure quelques choses du genre pour construire mon Array avec les noms des boutons?

    Aucune idée comment faire ça avec > this.getField(fname).type == “button”

    en réponse à : Changer la propriétés d’un calque avec un Javascript #69178
    jctremblay
    Participant

    Je n’étais pas fou alors!  :jerisjaune:

    Dans le cas de ces PDF, l’utilisation d’action n’est pas possible. Les documents PDF sont remis à des clients, qui ne doivent pas pouvoir imprimer la «Base» d’aucune façon. Souvent avec Reader. Le fournisseur vas devoir mettre la propriété «Ne Jamais Imprimer» à la main. J’essayais de voir comment le faire avec un JS. Mais cela ne semble pas possible.

    en réponse à : Changer la propriétés d’un calque avec un Javascript #69176
    jctremblay
    Participant

    Bien, ça ne marche pas plus…

    Avec la console oui, mais pas en action de document.

    en réponse à : Changer la propriétés d’un calque avec un Javascript #69174
    jctremblay
    Participant

    C’est là, mais pas possible avec un Javascript.

    J’ai essayer ceci dans le «document sera» «document est imprimer» et cela ne fonctionne pas. L’état, ne se chance pas. Sauf en sauvegardant le document. Probablement trop de code pour rien.

      var ocgArray = getOCGs();
          for (var i=0; i < ocgArray.length; i++) {
            if (ocgArray.name == “Base”) {
                ocgArray.state = !ocgArray.state;
            }
          }

    en réponse à : Changer la propriétés d’un calque avec un Javascript #69172
    jctremblay
    Participant

    Si je lis bien ici:

    Les propriétés d’impression ne sont pas possible avec un javascript. Il faut donc changer la visibilité seulement?

    https://acrobatusers.com/tutorials/creating-and-using-layers-ocgs-with-acrobat-javascript/index.html

    en réponse à : Changer la propriétés d’un calque avec un Javascript #69171
    jctremblay
    Participant

    C’est une possibilité…

    Par contre, je ne trouve pas les informations pour modifier l’état «Ne jamais imprimer» vs «Imprimer lorsque visible». Du moins ceci ne semble pas détaillé dans la documentation.

    en réponse à : Aplatir certains champs #69139
    jctremblay
    Participant

    … Certainement l’hiver prochain !

    J’ai hâte à l’hiver prochain! [Je pensais jamais dire ça!]  :jerisjaune:

    en réponse à : Aplatir certains champs #69136
    jctremblay
    Participant

    C’est ça. La «visibilité» ou pas lors de l’impression.

    en réponse à : Aplatir certains champs #69134
    jctremblay
    Participant

    Donc, si j’ai bien saisi le script:

    a) écriture de la liste des champs;
    b) capturer les propriétés de visibilité de tout champs, puis les mettre tous invisible;
    c) mettre les champs de la liste à visible;
    d) Aplatir les champs visible;
    e) Restaurer les propriétés initiaux des champs;

    en réponse à : Aplatir certains champs #69132
    jctremblay
    Participant

    Pour aplatir des champs spécifique, il y a un javascript ici: https://answers.acrobatusers.com/How-flatten-specific-group-form-fields-page-q293414.aspx

    Par contre, je me demande si toutes ces lignes sont nécessaires.

    en réponse à : Extraction des images des champs "Image". #69149
    jctremblay
    Participant

    Bon, j’étais pas fou… du moins pas à cause de ça.  :jerisjaune:

    Mais j’ai cru comprendre que l’adoption du PDF 2.0 devrait changer la donne.

    Il me semble que ça fait des années qu’on entend parler du PDF2.0. Rien vue de concret encore à ce niveau. Toi?

    en réponse à : Aplatir certains champs #69130
    jctremblay
    Participant

    J’utilise Selective Flatten Tool de Thom Parker. Je me demandais s’il était possible d’aplatir qu’un seul avec le nom d’un champ spécifique mais en javascript.

    en réponse à : Barre des propriétés #69090
    jctremblay
    Participant

    En général je place cette info dans le tooltip, ou bien parfois en “Texte par défaut” qui disparait au focus.

    Brillant! Comme toujours…  :bravo:

    en réponse à : Créer plusieurs copies de champs #69085
    jctremblay
    Participant

    C’est de la merde… Sur mon MacBook Pro, je dois mettre mon zoom à 66% pour que les maths est du sens. Sur ma Surface Pro, c’est à 43.2%. Il y a certainement un lien avec la résolution de l’écran le moniteur.

    en réponse à : Barre des propriétés #69088
    jctremblay
    Participant

    Je vois, c’est pour cela que la liste des menus disponible par des actions est limitée.

    Ça va être moins long dire à l’utilisateur de faire Ctrl+E !  :geek:

    en réponse à : Tri sur les champs de formulaires #68936
    jctremblay
    Participant

    Oh là, là… que c’est beau à voir. Bien au delà de mon besoin initial.

    Merci et en plus ça restera disponible pour la postérité.  :bravo:

    en réponse à : Créer plusieurs copies [limitation] #69000
    jctremblay
    Participant

    Une merde dont je vais aviser Adobe…  :mur:

Affichage de 99 réponses de 1 à 99 (sur un total de 134)