Donnez vie à vos documents numériques !
 

bebarth

Toutes mes réponses sur les forums

Affichage de 99 réponses de 2,080 à 2,178 (sur un total de 3,358)
  • Auteur
    Réponses
  • en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65359
    bebarth
    Maître des clés

    Concernant le fichier avec l’autre norme, cela n’est pas possible ?

    C’est possible, mais on ne récupère plus les caractères accentués !
    Essaie ce script et donne-moi les résultats de la console.

    Code:
    console.show();
    console.clear();
    var Chemin=this.path;
    var donneesCSV=this.getDataObjectContents(« UTF-8.csv »);
    var lesDonnees=util.stringFromStream(donneesCSV);
    console.println(« lesDonnees : « +lesDonnees);
    for (var i=1; i    if (lesDonnees.charCodeAt(i-1)==34 && lesDonnees.charCodeAt(i+1)==34 && lesDonnees.charCodeAt(i)!=59) var separateur=String.fromCharCode(lesDonnees.charCodeAt(i));
    }
    console.println(« lesDonnees 1 : « +lesDonnees);
    var lesDonnees = lesDonnees.replace(/ »/gi, » »);
    console.println(« lesDonnees 2 : « +lesDonnees);
    var lesLignes=lesDonnees.split(separateur);
    console.println(« lesLignes : « +lesLignes);
    var laLigne1=lesLignes[0].split(« ; »);
    console.println(« laLigne1 : « +laLigne1);
    var laLigne2=lesLignes[1].split(« ; »);
    console.println(« laLigne2 : « +laLigne2);
    for (var i=0; i    console.println(« i : « +i);
        console.println(« laLigne1 : « +laLigne1);
        console.println(« laLigne2 : « +laLigne2);   
        try {
            this.getField(laLigne1).value=laLigne2;
        } catch(e) {}
    }
    this.removeDataObject(« UTF-8.csv »);
    this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client->Nom organisation »).value+ »).pdf »);

    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65357
    bebarth
    Maître des clés

    bonjour,
    Voici une version adaptée spécialement pour les fichiers que tu m’as fait parvenir. Je ne suis pas diplômé es .csv, et je ne pourrais donc pas t’expliquer le pourquoi mais avec tes fichiers UTF-8 on récupères également des guillemets et le retour ligne récupéré n’est pas r. Par contre on récupère bien les caractères accentués, j’ai donc retiré les lignes pour renommer.
    Il faut donc dans un premier temps trouver ce séparateur. Avec : if (lesDonnees.charCodeAt(i-1)==34 && lesDonnees.charCodeAt(i+1)==34 && lesDonnees.charCodeAt(i)!=59) var separateur=String.fromCharCode(lesDonnees.charCodeAt(i));
    On vérifie donc le caractère situé entre 2 guillemets (34) et si ce n’est pas un point-virgule (59), c’est le retour ligne !
    Ensuite on retire tous les guillements dans la chaine avec : lesDonnees.replace(/ »/gi, » »); -> ici le « i » n’est pas obligatoire car il est pour « insensitive case », on pourrait se contenter de : lesDonnees.replace(/ »/g, » »);
    Ce qui donne au final :

    Code:
    var Chemin=this.path;
    var donneesCSV=this.getDataObjectContents(« fichierData.csv »);
    var lesDonnees=util.stringFromStream(donneesCSV);
    for (var i=1; i    if (lesDonnees.charCodeAt(i-1)==34 && lesDonnees.charCodeAt(i+1)==34 && lesDonnees.charCodeAt(i)!=59) var separateur=String.fromCharCode(lesDonnees.charCodeAt(i));
    }
    var lesDonnees=lesDonnees.replace(/ »/gi, » »);
    var lesLignes=lesDonnees.split(separateur);
    var laLigne1=lesLignes[0].split(« ; »);
    var laLigne2=lesLignes[1].split(« ; »);
    for (var i=0; i    try {
            this.getField(laLigne1).value=laLigne2;
        } catch(e) {}
    }
    this.removeDataObject(« fichierData.csv »);
    this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client->Nom organisation »).value+ »).pdf »);

    @+
    :bonjour:

    en réponse à : Bon de commande boutique Club #65439
    bebarth
    Maître des clés

    …et si tu les nommes PVPDF.0 à PVPDF.6 (au lieu de PVPDF1 à PVPDF7) tu peux faire la somme juste en indiquant PVPDF comme dans la copie d’écran !
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65353
    bebarth
    Maître des clés

    Il faut plutôt utiliser « try & catch » :

    Code:

    try {
    this.getField(laLigne1).value=laLigne2;
    } catch(e) {}

    @+
    :bonjour:

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

    bonjour,
    Normalement, si ton fichier pdf et ton fichier data.txt sont dans le même répertoire, tu as juste à modifier le nom « data » pour indiquer le nom exact.
    this.path lit le chemin du fichier pdf et this.documentFileName lit son nom donc il ne faut pas toucher.
    Si le document data.txt n’est pas dans le même répertoire il faut remplacer « var fileName = repertoire+ »data.txt »; » par « var fileName = « le chemin exact du fichier data.txt »; ».
    IL faut s’assurer d’avoir les droits dans ce répertoire !
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65350
    bebarth
    Maître des clés

    Voici un script spécialement adapté pour ton fichier.

    Code:
    var Chemin=this.path;
    var donneesCSV=this.getDataObjectContents(« test.csv »);
    var lesDonnees=util.stringFromStream(donneesCSV);
    var lesLignes=lesDonnees.split(« r »);
    var laLigne1=lesLignes[0].split(« ; »);
    var laLigne2=lesLignes[1].split(« ; »);
    for (var i=0; i    var n=laLigne2.charCodeAt(0);
        if (n==10) laLigne2=laLigne2.substring(1); // Spécialement pour fichier csv fourni ???
        if (laLigne1== »Rfrence ») laLigne1= »Référence »;
        if (laLigne1== »Site de lincident ->Nom complet ») laLigne1= »Site de l’incident ->Nom complet »;
        this.getField(laLigne1).value=laLigne2;
    }
    this.removeDataObject(« test.csv »);
    this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client->Nom organisation »).value+ »).pdf »);

    Les caracères non reconnus sont « é » dans Référence et l’apostrophe dans « Site de l’incident… »
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65348
    bebarth
    Maître des clés

    Cependant, j’ai réalisé le test et pour le champ « Référence » cela fonctionne (même avec les accents)…

    Cela m’étonne un peu car lorsque je récupère « Référence » du fichier csv j’obtiens « Rfrence » !
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65347
    bebarth
    Maître des clés

    J’ai peut-être une solution mais pour savoir, pourquoi les champs « Site… » et « Client… » sont-ils des listes déroulantes s’il sont remplis via l’application web ?
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65345
    bebarth
    Maître des clés

    Je comprends que tu ne puisses pas renommer les noms de champs de l’application web, mais pourquoi ne pas renommer les champs du formulaire ???
    Ensuite si le nom du champ récupéré commence par « Site de l’incident » tu renvoies vers le nom de champ « Site » par exemple !
    @+
    :bonjour:

    en réponse à : Bon de commande boutique Club #65437
    bebarth
    Maître des clés

    bonjour,
    Il faut redéfinir l’ordre de calcul des champs.
    Dans ton cas PT1…PT20, puis les PV FDP1 à 7 et enfin ST et PV TOTAL.
    Si je peux, je te conseillerais de lire le tuto « Duplication rapide de champs » qui pourrait te faciliter la tâche !
    https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65343
    bebarth
    Maître des clés

    bonjour,
    Voici un script pour une action adaptée spécialement pour ton fichier avec les champs renommés (je ne savais pas si je pouvais poster ton fichier).

    Code:
    var Chemin=this.path;
    var donneesCSV=this.getDataObjectContents(« test.csv »);
    var lesDonnees=util.stringFromStream(donneesCSV);
    var lesLignes=lesDonnees.split(« r »);
    var laLigne1=[« Client », »Description », »Reference », »Titre », »Site »];
    var laLigne2=lesLignes[1].split(« ; »);
    for (var i=0; i    var n=laLigne2.charCodeAt(0);
        if (n==10) laLigne2=laLigne2.substring(1); // Spécialement pour fichier csv fourni ???
        this.getField(laLigne1).value=laLigne2;
    }
    this.removeDataObject(« test.csv »);
    this.saveAs(Chemin.substring(0,Chemin.length-4)+ » (« +this.getField(« Client »).value+ »).pdf »);

    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65341
    bebarth
    Maître des clés

    Si les infos du fichier csv sont toujours identiques, on peut ignorer la première ligne :

    Code:
    var laLigne1= lesLignes[0].split(« ; »);

    et la remplacer par une table avec les noms corrects des champs renommés dans le pdf, par exemple :

    Code:
    var laLigne1= [« Client », »Description », »Reference », »Titre », »Site »];

    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65339
    bebarth
    Maître des clés

    Je n’avais pas vu que tu m’avais envoyé un fichier teste sur ma boite mail.
    J’ai essayé et ça fonctionne mais il va falloir modifier le nom de certains champs pour ne pas avoir de caractères accentués ni de caractères spéciaux (et je crois pas d’espace… en tout cas moi je n’en mets jamais !).
    …et bien sûr indiquer le nom correct du fichier .csv dans le script.
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65338
    bebarth
    Maître des clés

    Voici un nouvel exemple pour un fichier csv avec 2 lignes et qui est supprimé après importation des données.
    Si tu utilises l’action (uniquement si), tu peux en plus enregistré le fichier complété sous un nouveau nom : nomFichier (Nom Prenom).pdf
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65336
    bebarth
    Maître des clés

    bonjour,
    Si j’ai bien compris, le fichier csv ne comprend qu’une seule ligne à chaque fois, correct ?
    Voici donc un exemple qu’il faudra certainement adapter en fonction du nom des champs à remplir.
    …après, je ne sais pas si le script doit importer le fichier csv, le supprimer après remplissage des champs, enregistrer le fichier sous un nom (lequel), etc.
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65333
    bebarth
    Maître des clés

    …si tu cliques sur mon pseudo, tu devrais la trouver !!!
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65331
    bebarth
    Maître des clés

    Si tu peux me faire parvenir ton/tes fichiers(s), je pourrai regarder demain matin !
    @+
    :bonjour:

    en réponse à : Convertir/exporter les données du formulaire PDF vers CSV #65329
    bebarth
    Maître des clés

    bonjour,

    Cependant, tu ne réponds pas à la problématique principale, qui est de pouvoir importer les données d’un fichier CSV joint à mon formulaire PDF, afin de compléter certains champs de mon formulaire avant de l’envoyer au client.

    Je n’ai pas suivi ce post depuis le début, mais pour ce point n’est-il pas possible d’utiliser plutôt un fichiet .txt et d’adapter le script de ce post ?
    https://abracadabrapdf.net/forum/index.php/topic,3498.msg20950.html#msg20950
    @+
    :bonjour:

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

    bonjour,

    Je crois savoir que l’auteur de ce script est en vacances.  :afro:

    Moi j’étais bien en vacances la semaine dernière, mais je ne suis pas l’auteur du script…  :Smiley15:
    Voici une action d’une adaptation avec traduction.

    Code:
    var Chemin = this.path;
    var nomDocument = this.documentFileName;
    var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
    var fileName = repertoire+ »data.txt »;
    var outputDir = repertoire;
    var err = 0;
    var idx = 0;
    while (err==0) {
        err = this.importTextData(fileName, idx++); // Importation des données
        if (err == -1) app.alert(« Erreur : Le fichier ne peut pas être ouvert. »);
        else if (err == -2) app.alert(« Erreur : Les données ne peuvent pas être importées. »);
        // else if (err == -3) app.alert(« Error: Invalid Row »);
        // Nous n’indiquons pas cette erreur car elle signale la fin du tableau de données
        // et il faut donc sortir de la boucle « while »
        else if (err == 1) app.alert(« Attention : Sélection de fichier annulé par l’utilisateur. »);
        else if (err == 2) app.alert(« Attention : Sélection de ligne annulée par l’utilisateur. »);
        else if (err == 3) app.alert(« Attention : Données non trouvées. »);
        else if (err == 0) this.saveAs(outputDir + this.getField(« Nom »).value + « _ » + this.getField(« Prenom »).value + « .pdf »); // Enregistrement du fichier
    }

    Il faut que ton fichier data.txt soit dans le même répertoire que ton fichier .pdf et tous les fichiers seront enregistrés dans ce même répertoire.
    Attention à ne mettre de caractères spéciaux dans les nom des champs. Ici j’ai renommé « Prénom » en « Prenom ».
    @+
    :bonjour:

    en réponse à : Insertion d’une page entre chaque page d’un PDF #65419
    bebarth
    Maître des clés

    Je viens de m’apercevoir dans le second script qu’avec le copier/coller, il y avait 2 fois la variable « i » dans 2 boucles « for » imbriquées !!!
    Et ça fonctionne quand même…  :Euuuh:
    => En fait j’ai modifié le script juste avant de le poster. Dans la version d’origine les boucles n’étaient pas imbriquées. Dans la version avec 2 variables « i », ça fonctionne uniquement s’il n’y a que les 2 fichiers ouverts ou si ce sont les 2 derniers.
    Je pense qu’il vaut mieux changer le nom d’une de ces variables. Ici, j’ai conservé la variable « i » identique au premier script et j’ai remplacé l’autre par « j » :

    Code:
    // Insertion page active du fichier ouvert
    var Chemin = this.path;
    var nomDocument = this.documentFileName;
    var d = app.activeDocs;
    for (var j=0; j < d.length; j++) {
        if (j!=0 && d[j].documentFileName==nomDocument) {
            var lautreChemin=d[j-1].path;
            var laPage=d[j-1].pageNum;
            for (var i=this.numPages-2; i>=0; i–) {
                // Pour une page blanche après la dernière page : var i=this.numPages-1;
                // Pour une page blanche avant la première page : i>=-1;
                this.insertPages ({
                    nPage: i,
                    cPath: lautreChemin,
                    nStart: laPage
                });
            }
            // Enregitrement
            this.saveAs({
                cPath: Chemin,
                bPromptToOverwrite: false,
            });
            break;
        }
    }

    @+
    :bonjour:

    en réponse à : Insertion d’une page entre chaque page d’un PDF #65417
    bebarth
    Maître des clés

    bonjour,
    Voici deux scripts.
    Le premier insert la première page d’un fichier PageBlanche.pdf qui se trouve dans le même répertoire que le fichier à traiter.
    Les variantes sont indiquées dans le script. L’enregistrement est prévu, mais il suffit de retirer les lignes si on n’en veut pas !

    Code:
    // Insertion page #1 d’un fichier
    var Chemin = this.path;
    var nomDocument = this.documentFileName;
    var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
    for (var i=this.numPages-2; i>=0; i–) {
        // Pour une page blanche après la dernière page : var i=this.numPages-1;
        // Pour une page blanche avant la première page : i>=-1;
        this.insertPages ({
            nPage: i,
            cPath: repertoire+ »PageBlanche.pdf »,
            nStart: 0
        });
    }
    // Enregitrement
    this.saveAs({
        cPath: Chemin,
        bPromptToOverwrite: false,
    });

    Ce second script insert la page active du fichier précédemment ouvert.
    Si 15 fichiers sont ouverts et que le fichier à traiter est le dixième, la page insérée sera la page active du neuvième fichier. Est-ce clair ???
    Si ça ne l’est pas, le plus simple est de n’ouvrir que les 2 fichiers nécessaires. En premier le fichier où il y a la page à insérer (afficher la page), puis le fichier à traiter avant de lancer l’action.

    Code:
    // Insertion page active du fichier ouvert
    var Chemin = this.path;
    var nomDocument = this.documentFileName;
    var d = app.activeDocs;
    for (var i=0; i < d.length; i++) {
        if (i!=0 && d.documentFileName==nomDocument) {
            var lautreChemin=d[i-1].path;
            var laPage=d[i-1].pageNum;
            for (var i=this.numPages-2; i>=0; i–) {
                // Pour une page blanche après la dernière page : var i=this.numPages-1;
                // Pour une page blanche avant la première page : i>=-1;
                this.insertPages ({
                    nPage: i,
                    cPath: lautreChemin,
                    nStart: laPage
                });
            }
            // Enregitrement
            this.saveAs({
                cPath: Chemin,
                bPromptToOverwrite: false,
            });
            break;
        }
    }

    @+
    :bonjour:

    en réponse à : Calculs multiples à partir de cases cochées #64096
    bebarth
    Maître des clés

    bonjour Merlin,

    Ou bien dans le menu local du panneau de navigation « Contenu ».

    En 2 mots, il sert à quoi ce panneau ? On y voit tous les éléments contenus dans le pdf mais on peut faire quoi avec ?
    Merci.
    @+
    :bonjour:

    en réponse à : Calculs multiples à partir de cases cochées #64094
    bebarth
    Maître des clés

    Comment a-t-on cette fenêtre ?
    Peut-on désinstaller uniquement « certaines » polices ??? et non toutes sauf…
    @+
    :bonjour:

    en réponse à : Calculs multiples à partir de cases cochées #64092
    bebarth
    Maître des clés

    bonjour,
    Voici :
    https://we.tl/t-b3T12PT5H6
    Je ne comprends pas pourquoi le fichier est si gros…
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65387
    bebarth
    Maître des clés

    bonjour,

    Si je comprend bien, le meilleur moyen serait de refaire ces 2 formulaires avec mes propres champs.

    Ça, ce n’est pas ce qu’il y a de plus compliqué et de plus long à faire… Certaines fois on cherche la complexité pour pas grand chose.
    https://we.tl/t-wzG52maJow
    Voilà ! Je te laisse le soin de renommer les champs identiques comme je l’ai fait pour les champs « NOM ».
    Peut-être quelques ajustements de position des champs.
    @+
    :bonjour:

    en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65412
    bebarth
    Maître des clés

    bonjour,
    Voici le fichier avec le script modifié qui indique les bureaux qui ne sont pas cochés.
    Je préfère indiquer comme cela plutôt que « tous… sauf » car ça me parait étrange comme formulation quand le « sauf » devient plus important que le reste !
    Il faut peut-être revoir le texte de l’indication donnée dans ce champ… (bureaux cochés ???).

    Pour cet étage, il n’y avait pas 40 bureaux mais 33. C’est pour cela que j’ai mis l’instruction « try… catch » qui évite que le script ne s’arrête si le bureau n’existe pas !
    @+
    :bonjour:

    en réponse à : Les champs ne se classent pas automatiquement (tabulations) #65416
    bebarth
    Maître des clés

    bonjour,

    Ta question m’a fait m’apercevoir que l’outil qui permettait de cliquer sur les champs pour leur affecter un ordre de tabulation a disparu d’Acrobat Pro.

    Ça me rassure, car les dernières fois que j’ai voulu utiliser cette outil après ne pas l’avoir utilisé pendant des années, je me suis demandé si je ne l’avais pas imaginé…

    Si tu as des besoins particuliers en ordre de tabulation le mieux est de commencer par un de ces deux modes automatiques pour faire le plus gros, et ensuite de repasser en « manuel » pour peaufiner.

    C’est également la meilleure façon que j’ai trouvé pour pour ordonner les champs, sachant que je crois qu’il est même impossible de le faire par JavaScript.

    @+
    :bonjour:

    en réponse à : Calculs multiples à partir de cases cochées #64090
    bebarth
    Maître des clés

    …et si tu ne veux pas partager ton fichier avec tout le monde, tu envoies le lien en MP.
    @+
    :bonjour:

    en réponse à : Prendre un instantané + Positionnement du pdf #65396
    bebarth
    Maître des clés

    …mais la position restera quand même centrée verticalement, et pas sûr que la position horizontale soit exacte non plus par rapport à l’autocollant !!!
    @+
    :bonjour:

    en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65410
    bebarth
    Maître des clés

    Apparemment tous les bureaux n’existent pas.
    Voici ce que j’ai fait. Tu me dis !
    @+
    :bonjour:

    en réponse à : Dupliquer des pages déjà numérotées. #65404
    bebarth
    Maître des clés

    Voici une version améliorée qui te permet d’indiquer le nombre de fois qu’il faut dupliquer chaque page.
    Je ne vois pas bien l’utilité du script ! J’espère que ce n’est pas uniquement pour imprimer car ça peut se régler via le gestionnaire d’impression… non ?
    @+
    :bonjour:

    en réponse à : Calculs multiples à partir de cases cochées #64088
    bebarth
    Maître des clés

    bonjour,

    Mon fichier est trop lourd pour être transmis à priori.

    …une copie d’écran alors !
    @+
    :bonjour:

    en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65409
    bebarth
    Maître des clés

    bonjour,
    Pour chaque bureau on doit avoir soit la coche soit la croix rouge ou aucune des 2 cases peut ne pas être cochée ?
    Je n’ai pas vérifié, mais tous les bureaux 701 à 740 existent ???
    @+
    :bonjour:

    en réponse à : Dupliquer des pages déjà numérotées. #65401
    bebarth
    Maître des clés

    bonjour,

    Ça marche aussi pour 3 pages ? Une action dans Acrobat ?

    Tu veux dire 3 fois de suite la même page ?
    Pour cela il faut modifier un peu le script. Tu me dis…
    @+
    :bonjour:

    en réponse à : Dupliquer des pages déjà numérotées. #65399
    bebarth
    Maître des clés

    bonjour,
    On ne peut pas dupliquer une page d’un fichier .pdf, par contre on peut créer un nouveau fichier où l’on insert deux fois de suite la même page !
    Voici une action qui fait cela.
    @+
    :bonjour:

    en réponse à : Exporter le nom de plusieurs cases-à-cocher dans un champ texte #65407
    bebarth
    Maître des clés

    bonjour,
    Attention aux noms des champs utilisés dans les scripts. Ils ne doivent contenir ni espaces ni caractères spéciaux.
    …et dans tons cas, toutes les cases à cocher doivent se dénommer de la même façon à l’indice près (et non « Case a cocher1 », « case à cocher2),…).
    Voici ton fichier retouché.
    @+

    en réponse à : Calculs multiples à partir de cases cochées #64086
    bebarth
    Maître des clés

    Bonjour,
    Ce serait plus pratique si tu pouvais partager un fichier !
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65385
    bebarth
    Maître des clés

    …à moins d’essayer de mettre « app.activeDocs » en « trustedFunction », mais je n’ai pas le temps d’essayer aujourd’hui, et en plus j’ai mal au crâne !  :geek:
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65384
    bebarth
    Maître des clés

    …et je viens de penser que les documents devraient être « disclosed » pour pouvoir copier les valeurs de l’un à l’autre et apparemment on ne peut pas rajouter le script, à part peut-être sur le document original LiveCycle Designer…
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65382
    bebarth
    Maître des clés

    Acrobat Pro ne permet même pas d’accéder aux noms des champs.

    ???
    Pourtant je connais assez bien une personne qui a écris un script qui liste le nom des champs…  :geek:
    …et ça fonctionne !
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65380
    bebarth
    Maître des clés

    ???
    Ça demande un peu de travail de recherche parce que les champs n’ont pas les mêmes noms, mais sinon on peu bien remplir le deuxième formulaire avec les données du premier, non ?
    Me trompé-je ??? (beurk !)
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65377
    bebarth
    Maître des clés

    …remarque, si on ne peut pas fusionner les documents, il n’y a pas de raison que ce soit interdit !!!
    On pourrait créer une action qui reprend les valeurs des champs d’un des formulaires pour remplir l’autre !
    @+
    :bonjour:

    en réponse à : Fusionner 2 formulaires PDF #65376
    bebarth
    Maître des clés

    bonjour,
    Répliquer la saisie des champs, à première vue c’est faisable, mais a-t-on le droit ?
    On ne pourra pas fusionner les 2 documents car il ont été généré par Adobe LiveCycle Designer.
    C’est pour l’instant ma seule question…
    @+
    :bonjour:

    en réponse à : Transformer un script "absolu" en script "relatif" #65371
    bebarth
    Maître des clés

    …normal que ça ne marche pas, ici il faut écrire :

    Code:
    indice = parseInt(str.substring(n+7));

    str.substring donne la position du premier caractère (n), et +1 pour le caractère suivant.
    Pour « mEnfant » il faut rajouter 7 caractères.
    @+
    :bonjour:

    en réponse à : Transformer un script "absolu" en script "relatif" #65367
    bebarth
    Maître des clés

    bonjour,
    Il faut que tu  récupères « l’indice » de ton champ avec :

    Code:
    var str = this.event.target.name;
    var n = str.indexOf(« _ »);
    indice = parseInt(str.substring(n+1));

    Ici, « indice » représente la valeur numérique de tous les caractères situés après « _ » dans le nom du champ.
    Si ton champ se nome « reditTypeAutreCredit_0 » indice vaut 0, et tu pourras écrire :

    Code:
    this.getField(« nature_credit_ »+(indice+1)).value = this.getField(« CreditTypeAutreCredit_ »+indice).value;
    au lieu de
    this.getField(« nature_credit_1 »).value = this.getField(« CreditTypeAutreCredit_0 »).value;

    etc.
    …si j’ai bien compris ce que tu veux faire.
    Et quand on commence à avoir x fois le même script pour le même calcul il est préférable de le mettre en fonction dans un script de document. On ne l’écrit qu’une seule fois et s’il y a une modification, on ne la fait qu’une fois.
    Il existe plusieurs exemples sur le forum, dont celui-ci :
    https://abracadabrapdf.net/forum/index.php/topic,3594.0.html
    @+
    :bonjour:

    en réponse à : Retour sur le formulaire après un contrôle de champ #65366
    bebarth
    Maître des clés

    bonjour,

    …lorsque je clique sur le bouton valider, le contrôle se fait correctement. Lorsque le champ en question est vide j’ai bien un message d’erreur mais lorsque je clique sur OK j’ai la fenêtre pour envoyer le document par mail qui apparaît.

    Vu ce que tu nous dis, il semble que tu as bien utilisé l’instruction « if » pour indiquer ta condition, et bien il faut rajouter « else » pour indiquer une instruction si cette condition n’est pas respectée…
    Il faut séparer les instructions si la condition est respectée et celles si elle ne l’est pas.

    Code:
    if (tous les champs ne sont pas remplis) {
    message d’erreur;
    } else {
    envoi du formulaire;
    }

    @+
    :bonjour:

    en réponse à : Formulaire – Masquer les informations selon la réponse #65267
    bebarth
    Maître des clés

    bonjour,
    Il y a plusieurs erreurs dans ton script.
    Lorsque tu écris this.event.target.isBoxChecked(3), 3 n’est pas pas le non du champ mais le numéro du widget (qui est un numéro d’indice pour les champs de même nom).
    Ensuite, tu vas regarder l’état du template « page4 » qui n’existe pas ! tu n’as qu’un template « page9 ».
    Il faudrait donc écrire (avec les mêmes syntaxes utilisées) :

    Code:
    if(this.event.target.isBoxChecked(0)) {
    this.getTemplate(« page9 »).hidden = false;
    } else {
    this.getTemplate(« page9 »).hidden = true;
    }

    Mais je pense que tu vas vite t’apercevoir que ça ne te convient pas !
    Lorsque tu affiche ta page, elle se place à la fin. Pour la placer au bon endroit c’est un peu plus compliqué, d’où mon renvoi précédent à ce post :
    https://abracadabrapdf.net/forum/index.php/topic,3173.msg18509.html#msg18509
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65247
    bebarth
    Maître des clés

    OK, mais si on compare avec les règles de l’Anglais il n’y a pas photo !

    parce qu’il y a des règles en anglais ???  :geek:

    …pareil pour endsWith, ça simplifie la vie certaines fois !
    Il y avait également « includes », mais cette méthode ne fonctionne apparemment plus (du moins je n’ai jamais réussi).
    https://www.w3schools.com/jsref/jsref_includes.asp
    @+
    :bonjour:

    en réponse à : Formulaire – Masquer les informations selon la réponse #65264
    bebarth
    Maître des clés
    en réponse à : Bloquer la navigation via touche clavier et molette souris #65275
    bebarth
    Maître des clés

    bonjour,
    On peut créer un script d’ouverture de page qui interdit l’accès si les champs de la page précédente ne sont pas tous remplis (voir exemple).
    Pour les champs, on pourrait écrire également un script pour faire un retour si le champ précédent n’ai pas rempli, mais est-ce vraiment « user-friendly » ?
    En tout cas, c’est faisable. La complexité se fera en fonction de la dénomination des champs.
    @+
    :bonjour:

    P.S. : Je parle pour Adobe Acrobat Pro, je ne sais pas si on peut faire ça à partir d’InDesign…

    en réponse à : Formulaire – Masquer les informations selon la réponse #65262
    bebarth
    Maître des clés

    bonjour,
    Dans ton cas, il faut que tu crées 2 champs texte avec un fond blanc qui viendront masquer tes tableaux. Dans mon exemple ils ne sont pas blancs, mais c’est pour mieux te montrer…
    Ensuite tu vas dans les propriétés du bouton OUI et tu suis la copie d’écran (ici tu coches « masquer »).
    Enfin tu vas dans les propriétés du bouton NON et tu fais la même chose, sauf que tu coches « afficher ».
    Est-ce clair pour toi ?
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65245
    bebarth
    Maître des clés

    Parce-que certaines règles atteignent quand même des sommets d’absurdité :
    – Certains de ces adjectifs numéraux cardinaux peuvent avoir une valeur ordinale pour exprimer l’année, le jour, les parties d’un ouvrage, le numéro d’une rue, le nom d’un souverain… ils restent alors invariables :
    – un est invariable en nombre mais pas en genre : cinquante et une pages

    Ces règles sont peut-être un peu compliquées mais personnellement ne me paraissent pas absurdes (peut-être y en a-t-il d’autres qui le sont…).
    Si l’on parle des tomes un, ou des numéros un des rues, je ne vois pas pourquoi on mettrait un « s » à un !
    Idem pour cinquante et une pages qui signifie cinquante plus une… pages !
    Bien qu’adjectif numéral cardinal, « un » qualifie l’unité de base.
    Voici un fichier avec la nouvelle orthographe. j’ai juste rajouté des traits d’union où il en fallait pour garder un script commun.
    Il aurait fallu revoir un peu le script pour en faire un spécifique…
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65243
    bebarth
    Maître des clés

    bojour,

    Où as-tu vu ça ?

    A plusieurs endroits :
    https://leconjugueur.lefigaro.fr/frlesnombres.php
    https://www.lalanguefrancaise.com/orthographe/guide-complet-nouvelle-orthographe/
    https://www.cyberentraide.com/nouvelle-orthographe-nombres-lettres/

    La recommandation de 1990 n’était pas obligatoire, je ne sais pas ce qu’il en est de la nouvelle orthographe !
    @+
    :bonjour:

    en réponse à : Liste déroulante mère/fille vide #65191
    bebarth
    Maître des clés

    bonjour,
    Il faut retirer ou ne pas exécuter les 2 lignes clearItem() du script de document :

    Code:

    //this.getField(« ListeNiveau1 »).clearItems();

    //ffille.clearItems();

    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65240
    bebarth
    Maître des clés

    bonjour,

    … mais je vais essayer de reprendre le script total à ma sauce…

    J’ai commencé et je suis arrivé à peu près à la même logique qu’Alex, j’ai donc conservé pratiquement toute la partie « fonction » !
    Du coup, il y a deux versions : avec et sans monnaie.
    Je n’ai pas testé tous les nombres, mais normalement tu devrais pouvoir écrire jusqu’à 999 trillions et des brouettes…. (999 x 1018).
    Si tu regardes le script, il est prévu pour beaucoup plus (1064) mais je n’avais pas pensé qu’Acrobat était si limité…  :geek:
    Merci de me dire s’il y a encore des erreurs.
    J’ai vu qu’avec la nouvelle orthographe il fallait mettre des tirets partout, mais tant pis. Quelqu’un d’autre s’en chargera s’il le désire !
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65236
    bebarth
    Maître des clés

    bonjour,
    Ça ne devrait pas être très compliqué à résoudre, mais je vais essayer de reprendre le script total à ma sauce, car j’ai vu d’autres petits soucis comme par exemple on ne dit pas un million euros, mais un million d’euros. Idem pour milliard (même si on ne les a pas  :geek: ).
    Ça va sûrement être compliqué ce week-end… ce sera certainement en début de semaine prochaine !
    @+
    :bonjour:

    bebarth
    Maître des clés

    c’est vrai qu’a 67 ans j’ai déjà perdu pas mal de neurones  :Smiley08:

    j’espère pas trop !!! j’y arrive à grands pas !
    @+
    un autre Bernard
    :bonjour:

    en réponse à : Conversion nombre en lettres #65233
    bebarth
    Maître des clés

    Merci de me dire si je suis passé à côté de certaines règles !
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65231
    bebarth
    Maître des clés

    On peut peut-être faire des concessions pour ces derniers, mais pour les accords… Je sais que les règles françaises sont ubuesques mais il faut bien les respecter…  :mur:

    Je pense traiter la chaîne de caractères finale plutôt que chercher à modifier le script d’Alex, sinon il va y avoir un paquet de conditions avec plein d’exceptions !
    Alors que dans le résultat final on ne traite que le résultat !!!
    @+
    :bonjour:

    bebarth
    Maître des clés

    bonjour,
    Il va falloir être sûr de ton sript et le transformer en unicode pour pouvoir l’insérer dans le script de l’action.
    https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/pdf-javascript-et-unicode/
    L’utilitaire :
    https://abracadabrapdf.net/utilitaires/utilitaires-pdf/abra-txt2unicode-texte-vers-unicode/
    Ensuite, voici le script de l’action :

    Code:
    var g=this.getField(« nomduchampAmodifier »);
    // Tu colles le texte unicode entre les guillemets
    var leScript= »u0076u0061u0072u0020u0066u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u006Eu006Fu006Du005Fu0073u0061u0075u0076u0065u0022u0029u003Bu000Du0076u0061u0072u0020u0061u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0061u006Eu006Eu0065u0065u005Fu0066u0069u0073u0063u0061u006Cu0065u0022u0029u003Bu000Du0076u0061u0072u0020u0064u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0044u0061u0074u0065u005Fu0072u0065u0063u0065u0070u0074u0022u0029u003Bu000Du0076u0061u0072u0020u0065u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0061u006Eu006Eu0065u0065u005Fu0032u0035u0061u006Eu0073u0022u0029u003Bu000Du0066u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0028u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u006Eu006Fu005Fu0063u006Fu006Eu0074u0072u0022u0029u002Eu0076u0061u006Cu0075u0065u000Du002Bu0020u0022u002Du0022u0020u002Bu0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0063u006Fu006Eu0074u0072u005Fu006Eu006Fu006Du0022u0029u002Eu0076u0061u006Cu0075u0065u0029u002Bu0022u002Du0022u002Bu0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u003Bu000Du0061u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u002Du0031u000Du0064u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0064u0064u002Du006Du006Du002Du0079u0079u0079u0079u002Du0048u0048u003Au004Du004Du0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u003Bu000Du0065u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u002Du0032u0036″;
    g.setAction(« Calculate », leScript); // pour un script de calcul
    this.saveAs({
        cPath: this.path,
        bPromptToOverwrite: false,
    });

    …puis tu lances l’action après avoir ajouté tous les fichiers dans la liste. Si tu en as 1000, fait déjà un essai avec quelques uns…
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65230
    bebarth
    Maître des clés

    bonjour,
    Je suis parti sur le principe que le script d’Alex est correct, donc je découpe le nombre en 2 parties : avant et après la virgule et je les envois à la fonction d’Alex séparément puis je les rassemble pour les afficher dans le champ.
    Il y a peut-être des lignes inutiles dans le script d’Alex qui pourraient être retirée pour cette application, mais je n’ai pas regardé.
    Dans les scripts de document, « init » n’est pas une fonction, mais un script lu à l’ouverture du document pour initialiser les différentes variables. Une fonction est lue lorsqu’elle est appelée.
    @+
    :bonjour:

    bebarth
    Maître des clés

    bonjour,

    Je dois modifier le script d’un champ de formulaire pdf sur plus de 1000 fichiers.

    C’est selon ce que tu entends par le mot « modifier » que cela dépend !
    On ne peut pas récupérer le script d’un champ, mais on peut lui en attribuer un :
    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_setAction2bc-17&rhtocid=_6_1_8_31_2_16
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65204
    bebarth
    Maître des clés

    ???? comme ça je ne vois pas d’où vient le problème.
    pour la console, tu tapes ctr J. Une fenêtre va s’ouvrir avec (ou pas) des infos.
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65145
    bebarth
    Maître des clés

    voilà !
    https://we.tl/t-9tEVvjvb1P
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65228
    bebarth
    Maître des clés

    …effectivement, je n’ai pas du tout regardé ça ! J’ai pris le script d’Alex tel quel.
    J’ai bien pensé à mettre euro et centime au singulier pour un, mais pas le reste.
    J’essaie de regarder ça demain.
    @+
    :bonjour:

    en réponse à : Conversion nombre en lettres #65225
    bebarth
    Maître des clés

    bonjour,
    Je suis repartis du fichier original.
    Merci Alex.
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65143
    bebarth
    Maître des clés

    bonjour,
    Le calcul du champ se faisait, mais il n’affichait pas la valeur. Heureusement, car en plus il y avait une erreur de calcul !
    J’en ai profité pour uniformiser la position des $ (après la somme, avec un espace).
    NORMALEMENT, ça devrait mieux fonctionner.
    https://we.tl/t-grhWEQXsoe
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65202
    bebarth
    Maître des clés

    bonjour,
    Pour l’instant je ne comprend pas !
    Pour moi ça fonctionne du premier au dernier fichier… Pour toi, la page est ajoutée sur tous les fichiers sauf le dernier ? Que se passe-t-il si tu rajoutes des fichiers ?
    Y a-t-il une indication dans la console ?
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65200
    bebarth
    Maître des clés

    bonjour,
    Les images 2 et 3 semblent identiques…

    Mais le collage ne fait pas, pourtant hier j’y suis arrivé

    Les différents fichiers s’ouvrent-ils ?
    Que donne le résultat ?
    Qu’indique la console ?
    @+
    :bonjour:

    en réponse à : PDF INVOICE #65220
    bebarth
    Maître des clés

    bonjour,
    J’espère avoir tout compris !
    Pour modifier le numéro, il faut changer la valeur par défaut (mettre à 0 pour la prochaine ouverture à 001).
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65198
    bebarth
    Maître des clés

    bonjour,
    Seul le fichier « verso » doit être ouvert !
    Les autres fichiers doivent être indiqués dans la fenêtre « Fichiers à traiter » que tu vois apparaitre une fois que tu as cliqué sur l’action.
    Il faut cliquer « Ajouter des fichiers »… et penser à retirer le fichier « verso » de la liste !!!
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65141
    bebarth
    Maître des clés

    bonjour,
    Voici donc ce que je te propose !
    Je te transmets un lien WeTransfer car le fichier ne passe plus en pièce jointe.
    https://we.tl/t-19jbMztQtF
    Une vérification s’impose peut-être pour voir si je n’ai pas fait d’erreurs.
    Si tu as des idées qui pourraient améliorer l’utilisation, tu me demandes !
    @+
    :bonjour:

    en réponse à : Limiter nombre de ligne dans un champ #65213
    bebarth
    Maître des clés

    bonjour,
    Voici ce que j’ai fait.
    Le script retire et ne compte pas les éventuels retours lignes en fin de texte.
    @+
    :bonjour:

    en réponse à : Limiter nombre de ligne dans un champ #65211
    bebarth
    Maître des clés

    Je pensais que tu tapais du texte, mais ce n’est apparemment pas le cas !
    Comment arrivent les données du QR code dans le champ ???
    @+
    :bonjour:

    en réponse à : PDF INVOICE #65215
    bebarth
    Maître des clés

    bonjour,
    Tout m’a l’air réalisable, avec Acroabt Pro évidemment !
    Peux-tu partager un fichier ?
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65196
    bebarth
    Maître des clés

    bonjour,
    A mon avis, le plus simple est d’ouvrir le fichier « Verso » et de lancer l’action après avoir rajouté tous les fichiers.

    Code:
    var Chemin = this.path;
    var nomDocument = this.documentFileName;
    var repertoire = Chemin.substring(0,Chemin.length-nomDocument.length);
    this.insertPages ({
        nPage: 0,
        cPath: repertoire+ »Verso.pdf »,
        nStart: 0
    });
    this.saveAs({
        cPath: Chemin,
        bPromptToOverwrite: false,
    });

    Tu peux indiquer un répertoire au lieu de tous les fichiers, mais attention, ,ça rajoutera la page verso à tous les fichiers inclus, même le fichier « verso » !
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65139
    bebarth
    Maître des clés

    …facile à trouver, il suffit de chercher à la loupe !
    @+
    :bonjour:

    en réponse à : Limiter nombre de ligne dans un champ #65207
    bebarth
    Maître des clés

    Bonjour,
    Il suffit de compter le nombre de retour ligne.
    Le plus compliqué c’est peut-être si tu veux le faire à la volée…
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65195
    bebarth
    Maître des clés

    …je te fais ça demain.
    Le X est défini ou peut varier ?
    Les fichiers se trouvent tous dans le même répertoire ?
    @+
    :bonjour:

    en réponse à : Ajouter toujours la même page à plusieurs fichers #65193
    bebarth
    Maître des clés

    bonjour,
    …avec Acrobat Pro, évidemment !!!
    @+
    :bonjour:

    en réponse à : Liste déroulante mère/fille vide #65187
    bebarth
    Maître des clés

    Ici !
    @+
    :bonjour:

    en réponse à : Liste déroulante mère/fille vide #65184
    bebarth
    Maître des clés

    …et effectivement ça marche beaucoup mieux !
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65133
    bebarth
    Maître des clés

    Âllo!
    J’essaye de regarder ce weekend, sinon en tout début de semaine prochaine.
    Je peux renommer des champs ???
    @+
    :bonjour:

    en réponse à : Liste déroulante mère/fille vide #65183
    bebarth
    Maître des clés

    bonjour,
    Je n’ai pas testé avec ton fichier mais je pense avoir déjà répondu à ta question dans un post précédent :

    bonjour,
    J’ai lu et relu le script sans ne rien trouver !  :doute:
    Puis vint la lumière.  :idee:
    D’après toi, quand est lancée la fonction « Initialisation » dans ton document ??? hé bien : jamais…
    Dans son document original, Alex a mis un script d’ouverture de page.

    Tu me dis !!!
    @+
    :bonjour:

    en réponse à : Ecrire dans un formulaire par programme #65151
    bebarth
    Maître des clés

    bonjour,

    Puis au domicile compléter le reste (type de contrat, options souhaitées etc …)

    Si c’est avecAdobe Reader, je dirais : NON, avec Acrobat Pro : OUI.
    @+
    :bonjour:

    bebarth
    Maître des clés

    bonjour,
    Tu pourrais-peut-être mettre ces champs en lecture seule avant d’envoyer le formulaire. Par contre, si quelqu’un ouvre le fichier avec Adobe Pro, il peut modifier les champs !
    Sinon il y a l’aplatissement des champs, mais on ne peut aplatir qu’une page complète. Si certains champs ne doivent pas être aplatis, ça complique un peu… mais c’est possible.
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65131
    bebarth
    Maître des clés

    bonjour,
    Comme tu veux, soi tu le places ici, soit en MP !
    @+
    :bonjour:

    en réponse à : Exportation données vers Excel #65172
    bebarth
    Maître des clés

    bonsoir Merlin,

    Ton script fait apparaitre la Console, pas besoin de plus.

    J’utilise tellement peu Adobe Reader que je ne savais pas qu’on pouvait faire apparaitre la console sans le fichier .js !

    En réfléchissant encore, je me disais qu’on pourrait plutôt faire apparaitre le texte dans une fenêtre défilante comme dans l’exemple ci-joint, c’est toujours plus sexy que la Console.
    :geek:

    Je ne sais pas si c’est plus sexy, mais certainement plus sympa ! A voir suivant la réponse de MyriamGE. On peut même ajouter un bouton d’affichage dans la console en option (si tu vois ce que je veux dire…).
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65129
    bebarth
    Maître des clés

    bonsoir,

    Je vais surement en avoir quelques autres.  :Smiley03:

    Une fois ton fichier terminé (ou presque) si tu veux le partager, je pourrai y jeter un oeil pour essayer de le peaufiner un peu…
    @+
    :bonjour:

    en réponse à : Exportation données vers Excel #65170
    bebarth
    Maître des clés

    bonsoir,
    Ça ce n’est pas très compliqué !

    Code:
    console.show();
    console.clear();
    var outputString = «  »;
    var Noms = «  »;
    var Variables = «  »;
    for (var i=0; i    var f = this.getField(this.getNthFieldName(i));
        if (f!=null && f.type!= »button » && f.type!= »signature ») {
            Noms+=f.name + « ; »;
            Variables+=f.valueAsString + « ; »;
        }
    }
    laChaine=Noms+ »rn »+Variables;
    console.println(« Contenu des champs : « + laChaine);

    Par contre il faut installer le fichier .js pour avoir la console avec Adobe Reader (https://abracadabrapdf.net/download/JSDebugger_button.js.zip).
    …je pense que je vais revenir sur le sujet (plus tard).
    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65127
    bebarth
    Maître des clés

    bonjour,
    Voilà, je n’ai fait que la première partie des champs, je te laisse faire l’autre !
    Il faudrait revoir les noms des champs qui ne doivent contenir ni espaces, ni caractères spéciaux ainsi que l’ordre de tabulation et l’ordre du calcul des champs.
    @+
    :bonjour:

    en réponse à : Exportation données vers Excel #65164
    bebarth
    Maître des clés

    bonjour,
    Lorsque dans le script on ne crée pas la pièce jointe avec « createDataObject », cela fonctionne.
    Il faudrait donc essayer avec un fichier déjà incorporer et adapter le script de ce post :
    https://abracadabrapdf.net/forum/index.php/topic,3592.msg21864.html#msg21864
    …mais je ne vais pas pouvoir faire cela cette après-midi !
    J’essaye de regarder ce weekend.
    Si quelqu’un ( :extra: ) veut essayer, il faut mettre le fichier EnregistrementCSV.js dans le répertoire JavaScript d’Adobe Reader (https://www.abracadabrapdf.net/utilitaires/utilitaires-pdf/show_me_the_path/) et utiliser le fichier Demo_Export_BB.pdf
    @+
    :bonjour:

    en réponse à : Exportation données vers Excel #65162
    bebarth
    Maître des clés

    bonsoir,

    … bebarth qui connait bien le sujet.  :geek:

    Premiers essais pas très concluants !
    J’ai essayé un script de document mais ça n’a pas fonctionné…
    J’essaye de regarder demain ou ce weekend.
    @+
    :bonjour:

    en réponse à : Création nouvelle page avec un calendrier #61033
    bebarth
    Maître des clés

    …and if you try to zip the file! is it the same result even if the size is not reduced?
    @+
    :bonjour:

    en réponse à : Création nouvelle page avec un calendrier #61031
    bebarth
    Maître des clés

    Hi,
    How do you try to send the pdf file? via a mailer (Outlook or something like that?).
    Do you have an error message? Please send a screenshot!
    @+
    :bonjour:

    en réponse à : Bouton Impression – taille réelle présélectionnée #65158
    bebarth
    Maître des clés

    bonjour,
    Si c’est possible (s’il n’y a pas d’autres indications d’impression à donner) je rajouterais bUI: false, sinon on a la boîte de dialogue qui s’ouvre et je trouve que ça perd un peu de son utilité…
    Ce qui donne :

    Code:
    this.print({bUI: false, bShrinkToFit: false});

    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65123
    bebarth
    Maître des clés

    bonjour,
    Sur Paris il fait quand même 3°C… et on attend de la neige pour lundi et mardi !!! au mois 5 mm, mais ce sera assez pour semer la pagaille…
    Comme l’a indiqué Merlin, le script de document se charge à l’ouverture du document. Il est lié au document, ici le script est une fonction appelée par quelleOption();.
    Lorsque tu copies/colles les cases dans ton document original, tu ne copies pas ce script… C’est pour ça que ça ne fonctionne pas !
    Il faut que tu trouves dans ta version d’Acrobat où se trouvent les scripts de document, et tu copies/colles celui qui se incorporé dans le fichier que je t’ai envoyé. Sur Acrobat DC, tu pourras les trouver dans Outils -> Javascript.
    @+
    :bonjour:

    en réponse à : bloc texte à partir d’un menu déroulant #64998
    bebarth
    Maître des clés

    bonsoir,
    A mettre en script de calcul du champ texte :

    Code:
    if (this.getField(« Liste »).value==0) {
    this.event.target.display=display.hidden;
    } else {
    this.event.target.display=display.visible;
    }

    @+
    :bonjour:

    en réponse à : Un seul choix doit apparaître. #65118
    bebarth
    Maître des clés

    Petite inversion, désolé !
    @+
    :bonjour:

Affichage de 99 réponses de 2,080 à 2,178 (sur un total de 3,358)