Donnez vie à vos documents numériques !
 

jojoe

Toutes mes réponses sur les forums

Affichage de 10 réponses de 1 à 10 (sur un total de 10)
  • Auteur
    Réponses
  • jojoe
    Membre

    Si ce n’est pas trop te demander, je veux bien en effet (je vous sollicite beaucoup depuis quelques jours  :Ooops: ).
    1) Je ne comprends pas faire apparaître les valeurs par défaut relatives au nombre de copies souhaité par instrument dans la table, puisque ces valeurs ne sont pas figés mais saisies par l’utilisateur.
    Aussi, je ne me suis pas encore penché sur la boucle for. Mais ça, je vais regarder et essayer de comprendre.

    Merci,

    Jojoe

    jojoe
    Membre

    Merci Bebarth,

    Là tout de suite, je ne comprends pas bien le fonctionnement de la boucle avec table. Mais je vais voir ça de plus prêt !
    ++

    en réponse à : JS – Action à réaliser en fonction d’une CheckBox #63720
    jojoe
    Membre

    Super, c’est génial merci Merlin !

    // si cochée
    if (this/getField(“CASE”).value != “Off”) {

    Par contre, ce ne serait pas this.getField ? (point et non slash ?)

    Et du coup, pour bien comprendre, pourquoi demande t-on une inégalité (!=) ? Traduction : Si Valeur CheckBox est inégale à non cochée.

    Merci encore,

    Jojoe

    en réponse à : Mes outils ont disparu ! #63717
    jojoe
    Membre

    Bien vu, merci Merlin. Mise à jour effectuée et tout rentre dans l’ordre…
    Pour précision par contre, j’ai la version 11.0.23 qui est (et restera…) donc la dernière version pour Acrobat Pro XI.
    :bonjour:

    en réponse à : Mes outils ont disparu ! #63715
    jojoe
    Membre

    Bebarth,
    Oui, j’ai bien une pro XI (version 11.0.0). J’ai également le Adobe Forms Central qui s’est installé. Donc pas de souci de ce côté-là.

    Merlin,
    Je te mets une capture du volet Formulaire déroulé… Il n’y a pas les outils que je cherche.

    Nous avions déjà eu un problème lorsque nous avions fait des essais sur une Surface Pro 3 avant de commander les Surface Pro 4. Il manquait l’outil de commentaire “lignes connectées”. Il a suffit de désactiver l’option tactile pour que cet outil soit de nouveau actif.
    En l’occurrence, cet outil fonctionne aujourd’hui, mais d’autres ont disparu. Sans doute un problème de compatibilité entre Acrobat Pro XI et les appareils tactiles… C’est fâcheux !

    jojoe
    Membre

    Merci Merlin,

    J’ai justement un autre problème qui se pose à moi concernant les outils formulaires… Mais je vais créer un autre post car c’est un sujet différent.

    ++

    jojoe
    Membre

    Merci Bebarth, je vais tester pour l’insertion du Template.

    J’ai commencé le Javascript il y a 15 jours-3 semaines… Je me disais bien qu’il y avait une solution plus efficace plutôt que de tout réécrire. Je vais donc regarder ça !
    Je me suis aussi imprimé le js_developer_guide et le js_api_reference mais c’est des sacrés bottins à se cogner !  :mur:

    ++

    jojoe
    Membre

    Bonjour,

    Oui, oui, pardon, j’ai fait un exemple pour illustration de ce que je voulais et ai effectivement utilisé l’outil texte et non un champ de formulaire.
    Quoiqu’il en soit, je suis parvenu avec vos conseils à obtenir ce que je voulais donc tout est bon.
    D’ailleurs, j’ai un peu adapté le processus initial après l’avoir montré à mes collègues. En effet, il n’y a plus de saisie du nom d’instrument. Le script va générer les couvertures pour tous les instruments (Violons, Altos, Violoncelles et Contrebasses). Pour chaque, on demande simplement le nombre de copies souhaitées.

    Juste un petit problème que je n’ai pas réussi à résoudre… ou du moins en bidouillant… je voulais que les pages issues du Template créé préalablement soient insérées à la suite

    Code:
    this.getTemplate(“Couv”).spawn({nPage:this.numPages});

    . Et je ne sais pas pourquoi toute les pages se mettent dans le bon ordre, sauf la dernière qui vient se positionner en “nPage : -1”.
    Du coup, je demande dans mon script à réinsérer une fois supplémentaire le Template (qui se place en page -1) puis je la supprime et tout va bien.

    Voici :

    Code:
    var a = 1;
    var t = this.createTemplate ({nPage:0, cName:”Couv”});
    var nbreCopiesV1 = app.response({
        cQuestion: “Combien souhaitez-vous générer de parties de Violon I ?”,
        cTitle: “Nombre de parties”,
        cDefault: “8”
        });
        while(a<=nbreCopiesV1){
            this.getTemplate(“Couv”).spawn({nPages:this.numPages});
           
            var f = this.addField(“ZoneInstru”,”text”,0,[0,50,594,100]);
            f.value = “Violon I”;
            f.alignment = “center”;
            f.textSize = 40;
            f.textColor = color.black;
            f.textFont = font.Helv;
           
            var f = this.addField(“ZoneCopies”,”text”,0,[525,800,585,830]);
            f.value = a + “/” + nbreCopiesV1;
            f.alignment = “right”;
            f.textSize = 20;
            f.textColor = color.black;
            f.textFont = font.Helv;
            a=a+1;
        }
        a=1;
        var nbreCopiesV2 = app.response({
            cQuestion: “Combien souhaitez-vous générer de parties de Violon II ?”,
            cTitle: “Nombre de parties”,
            cDefault: “7”
            });
        while(a<=nbreCopiesV2){
            this.getTemplate(“Couv”).spawn({nPage:this.numPages});
               
            var f = this.addField(“ZoneInstru”,”text”,0,[0,50,594,100]);
            f.value = “Violon II”;
            f.alignment = “center”;
            f.textSize = 40;
            f.textColor = color.black;
            f.textFont = font.Helv;
               
            var f = this.addField(“ZoneCopies”,”text”,0,[525,800,585,830]);
            f.value = a + “/” + nbreCopiesV2;
            f.alignment = “right”;
            f.textSize = 20;
            f.textColor = color.black;
            f.textFont = font.Helv;
       
            a=a+1;
        }
        a=1;
        var nbreCopiesAlto = app.response({
            cQuestion: “Combien souhaitez-vous générer de parties d’Alto ?”,
            cTitle: “Nombre de parties”,
            cDefault: “6”
            });
        while(a<=nbreCopiesAlto){
            this.getTemplate(“Couv”).spawn({nPage:this.numPages});
               
            var f = this.addField(“ZoneInstru”,”text”,0,[0,50,594,100]);
            f.value = “Alto”;
            f.alignment = “center”;
            f.textSize = 40;
            f.textColor = color.black;
            f.textFont = font.Helv;
               
            var f = this.addField(“ZoneCopies”,”text”,0,[525,800,585,830]);
            f.value = a + “/” + nbreCopiesAlto;
            f.alignment = “right”;
            f.textSize = 20;
            f.textColor = color.black;
            f.textFont = font.Helv;
       
            a=a+1;
        }
        a=1;
        var nbreCopiesVlc = app.response({
            cQuestion: “Combien souhaitez-vous générer de parties de Violoncelle ?”,
            cTitle: “Nombre de parties”,
            cDefault: “5”
            });
        while(a<=nbreCopiesVlc){
            this.getTemplate(“Couv”).spawn({nPage:this.numPages});
               
            var f = this.addField(“ZoneInstru”,”text”,0,[0,50,594,100]);
            f.value = “Violoncelle”;
            f.alignment = “center”;
            f.textSize = 40;
            f.textColor = color.black;
            f.textFont = font.Helv;
               
            var f = this.addField(“ZoneCopies”,”text”,0,[525,800,585,830]);
            f.value = a + “/” + nbreCopiesVlc;
            f.alignment = “right”;
            f.textSize = 20;
            f.textColor = color.black;
            f.textFont = font.Helv;
       
            a=a+1;
        }
        a=1;
        var nbreCopiesCb = app.response({
            cQuestion: “Combien souhaitez-vous générer de parties de Contrebasse ?”,
            cTitle: “Nombre de parties”,
            cDefault: “4”
            });
        while(a<=nbreCopiesCb){
            this.getTemplate(“Couv”).spawn({nPage:this.numPages});
               
            var f = this.addField(“ZoneInstru”,”text”,0,[0,50,594,100]);
            f.value = “Contrebasse”;
            f.alignment = “center”;
            f.textSize = 40;
            f.textColor = color.black;
            f.textFont = font.Helv;
               
            var f = this.addField(“ZoneCopies”,”text”,0,[525,800,585,830]);
            f.value = a + “/” + nbreCopiesCb;
            f.alignment = “right”;
            f.textSize = 20;
            f.textColor = color.black;
            f.textFont = font.Helv;
       
            a=a+1;
        }
        this.getTemplate(“Couv”).spawn({nPage:this.numPages});
        this.deletePages({nStart:0,nEnd:1});
        this.saveAs({cPath:”/C/Users/…/Desktop/CouvCordes.pdf”});

    J’ai inséré ce script dans une action et j’obtiens le résultat voulu donc tout va bien.
    Est-il faisable d’ajouter ce script au niveau application. Je vais avoir d’autres scripts du même type à réaliser et j’aimerais créer un menu à cet effet ?
    L’action est top pour un traitement par lot. En l’occurrence, ce script sera utilisé sur un fichier à la fois… Même si ça marche parfaitement ainsi, je me dis que ça peut être mieux (et puis ça me donne l’occasion d’apprendre !). J’ai lu l’article https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/ mais je n’ai pas tout très bien compris… où insérer le fichier .js,…

    En tout cas, encore merci pour votre aide et pour ce forum si précieux !

    Jojoe

    jojoe
    Membre

    Bonsoir,

    Pardon, c’est moi qui n’avait pas était suffisamment clair.
    En sortie, je voudrais que toutes les pages soient dans le même fichier et non autant de fichier que de pages de couvertures car ensuite, l’idée est de lancer une impression de toutes les couvertures en un clic.
    Par ailleurs Bebarth, je ne sais pas si c’est un bug mais quand j’utilise ton action “Partitions”, les fichiers générés sont vierges. Seuls apparaissent les  deux zones de textes créées. Or l’idée est d’ajouter les zones de textes sur mon fichier d’origine (avec l’illustration, le titre, le compositeur,…) et ce, sur les n couvertures.

    Vu, que l’on ne peut pas insérer un PDF en son propre sein, je ne vois pas comment échapper à la duplication du fichier d’origine. Merlin, tu as parlé de templates… je ne sais pas de quoi il s’agit. Peux-tu m’en dire plus ?

    J’ai essayé de retravailler un peu de mon côté. Je parviens bien à enregistrer mes fichiers. Je voudrais ensuite réaliser l’insertion et c’est là que je bloque. J’ai lu des choses sur acrobusters mais rien n’y fait… :tutut:

    Voici où j’en suis dans mon script…

    Code:

    var nbreParties = 0;
    //Questions Compositeur & Oeuvre
    var nomCompositeur = app.response({
        cQuestion: “Saisissez le nom du compositeur (sans espaces) :”,
        cTitle: “Compositeur”,
        cDefault:”Mozart”
    });
    var nomOeuvre = app.response({
        cQuestion: “Saisissez le nom de l’oeuvre (sans espaces):”,
        cTitle: “Oeuvre”,
        cDefault: “LaFlûteEnchantée”
    });
    //Enregistrement de la page
    this.saveAs(“/C/Couvertures/temp.pdf”);
    this.saveAs(“/C/Couvertures/”+nomCompositeur+”-“+nomOeuvre+”.pdf”);

        //déclaration des variables
        var nomInstrument = app.response({
            cQuestion: “Saisissez le nom de l’instrument :”,
            cTitle: “Instrument”,
            cDefault: “Violon I”
            });
        var nbreParties = app.response({
            cQuestion: “Combien voulez-vous générer de parties ?”,
            cTitle: “Nombre de parties”,
            cDefault: “1”
            });
        var a = parsefloat(nbreParties);
        var i = nbreParties;

    while(a==0)
    {
        a = a-1;

        this.insertPages({
            cPath: “/C/Couvertures/temp.pdf”,
            nPage: -1
        });

    // Construction des champs texte
    var f = this.addField(“Zone_Num”, “text”, 0, [200,250,250,400] )
    f.value = i + “/” + nbreParties; // Texte du bas de page
    f.alignment = “center”; // Alignement du texte
    f.textSize = 20; // Corps du texte
    f.textColor = color.black; // Couleur du texte
    f.textFont = font.Helv; // Police du texte
       
    var f = this.addField(“Zone_Instrument”, “text”, 0, [400,400,300,300] )
    f.value = nomInstrument; // Texte du bas de page
    f.alignment = “center”; // Alignement du texte
    f.textSize = 20; // Corps du texte
    f.textColor = color.black; // Couleur du texte
    f.textFont = font.Helv; // Police du texte

    i = i-1
    }

    Encore merci d’avance pour votre aide.

    Jojoe

    jojoe
    Membre

    Bonjour et merci pour vos réponses qui me font déjà progresser.
    Je vais préciser ma demande. En fait, nous faisons des couvertures que nous travaillons avec Photoshop par exemple. Le document qui sort sert de modèle pour fabriquer toutes les couvertures de toutes les partitions pour une œuvre. Pour chaque œuvre nous faisons des partitions différentes et devons réécrire le nom de chaque instrument sur chaque couverture (environ 70 couvertures pour un orchestre).
    Mon idée est de sortir un fichier PDF de Photoshop et de dire à Acrobat Pro XI (c’est la version avec laquelle nous travaillons) de générer les partitions des instruments à cordes dans un premier temps… 5 opérations (violons I, Violons II, Altos, Violoncelles, Contrebasses) = 35 ou 40 couvertures = gain de temps. D’où mon idée d’enregistrer ma page dans un fichier temporaire. Je ne connais les templates mais je veux bien que vous m’en disiez davantage.
    Aussi, le script que tu m’envoies Bebarth me génère autant de fichiers que de couvertures. Je préfèrerais que toutes les pages soient dans le même fichier. Là encore mon idée d’insérer des pages depuis le fichier temporaire enregistré préalablement.

    Quoiqu’il en soit encore merci de me faire avancer. Je vais relire le script pour essayer de bien comprendre les différentes commandes que tu as utilisées…!

    Jojoe

    PS: Je vous mets en pièce jointe une couverture type.
    PS2: La question des positions des champs textes sera à affiner effectivement mais c’est de l’ordre du réglage.

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