Donnez vie à vos documents numériques !
 

ALFB

Toutes mes réponses sur les forums

Affichage de 12 réponses de 1 à 12 (sur un total de 12)
  • Auteur
    Réponses
  • en réponse à : Récupérer numéro de page dans champs de texte #58308
    ALFB
    Membre

    C'est juste parfait  :bravo:
    Merci Bonne journée et vive abracadabrapdf

    en réponse à : Récupérer numéro de page dans champs de texte #58306
    ALFB
    Membre

    Et voilà en PJ:
    En bas à gauche de la première page il y a un bouton “ajouter photo”. Lorsque je clique dessus, une nouvelle page est ajoutée (à partir du modèle).Je peux donc ajouter plusieurs pages. J'ai également mis un bouton “supprimer cette page” sur la page modèle.

    Exemple j'ai ajouté 3 pages et je veux supprimer la seconde. Avec le script actuel, le champ texte affichant le n° de page, gardera le N° 4 et n'est pas mis à jour suite à la suppression de la page précédente.J'espere avoir été assez explicite (pas toujours évident par écrit) mais pour moi c'est clair  :jerisjaune:

    en réponse à : Récupérer numéro de page dans champs de texte #58304
    ALFB
    Membre

    Bonjour,

    J'ai modifié ton fichier et ca devrait répondre à ton besoin.

    j'ai supprimé le code présent sur ton champ “numeropage1” car this.pageNum revoit systématiquement le numéro de la page ou le focus est présent, raison pour laquelle tous tes champs indiquaient le même chiffre.

    pour palier ça j'ai modifier le code présent dans ton bouton comme suit :

    Code:
    this.getField(“numeropage1”).value = this.numPages + 1;        // affecte au champ “numeropage1” le numéro de la page
    this.spawnPageFromTemplate(“annexe”, this.numPages, true);    // duplique le modèle de page “annexe” en renommant tous les champs de formulaire
                                                                  // + insère la page systématiquement en fin de document
    this.pageNum = 0;                                              // remet le focus sur la 1ère page

    l'ensemble des champs sur tes différentes pages ont un nom différent grace au paramètre “true” de spawnPageFromTemplate
    associer au fait de venir affecter à ton champs initial “numeropage1” le nombre total de page +1 permet de conserver le numéro de page distinctement sur l'ensemble des pages ajoutées.

    :Smiley01:

    Bonjour, je ressors ce vieux sujet des placards et merci pour ce script bien utile.
    Par contre si j'ai 4 annexes et que je supprime l'annexe N° 3, l'annexe n° 4 affiche encore n°4 et non n°3.  Comment faire cette mise à jour automatiquement pour les numéros correspondent toujours aux bons numéros de pages ?

    ALFB
    Membre

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

    Oui je vais les placer sous le bouton cliquer. J’ai réussi à les positionner comme je voulais (les unes en dessous des autres).Par contre, ci-j’ai 2 PJ sous le premier bouton, la PJ au second bouton se positionne en troisième place et non en dessous du bouton (je ne dois pas être tres clair)

    Code:
    var aRect = event.target.rect;
    this.syncAnnotScan();
    annots = this.getAnnots();
    var j=0;
    for (var i = 0; i < annots.length; i++) {
    if (annots.type==”FileAttachment”) {
    var j=j+1;
    // annots.point =[aRect[0]-1*(j), aRect[1]-15];
    }
    }
    if (j>4) {
    {app.alert({cMsg:”Vous ne pouvez importer plus de 5 pièces jointes.”, nIcon:2});}
    } else {
    var annot = this.addAnnot({
    page: this.pageNum,
    type: “FileAttachment”,
    contents: “Double-clic pour ouvrir la piu00E8ce jointe”,
    attachIcon: “Paperclip”,
    point: [aRect[0]-(0*(j+1)), aRect[3]-(18*(j))],
    strokeColor: color.blue,
    });
    annot.contents = annot.attachment.name;
    }

    Il faudrait que je crée une variable qui compte le nombre de PJ (exemple nbpj) et soustraire j-nbpj en lieu et place de j dans le code point:…

    ALFB
    Membre

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

    C’est parfait,Me reste plus qu’à trouver comment mettre les PJ les unes en dessous des autres dans la marge. Ca doit être dans les parametre aRectMerci

    ALFB
    Membre

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

    Code:
    annots.point =[aRect[0]-1*(j), aRect[1]-15];

    En la supprimant, la PJ ne s’importe plus. :mur: Par quoi je dois remplacer ce bout de code pour que les PJ se mettent à l’endroit voulu et quelles ne se déplacent pas.
    Oui je sais je suis mauvais, j’y arrive en tatillonant et en testant  :Smiley08:

    ALFB
    Membre

    Je ne comprend pas cette phrase.  :Euuuh:

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

    L’exemple que je mets en pièce jointe est tres parlant. Tu peux tester en important une PJ avec le bouton PJ1 (dans la marge à droite) et ensuite avec le bouton PJ2. Tu verras que la pièce jointe 1 sera déplacée vers la PJ2 et ainsi de suite à chaque fois que l’on change de bouton PJ.

    ALFB
    Membre

    OK merci mais il me reste un mystère, non trouvé dans le sujet:Si j’ai deux boutons d’importation de PJ à deux endroits différents sur mon formulaire. Je n’arrive pas à importer les PJ à proximité de chaque bouton. Les boutons appellent toutes les pj du doc, meme celles qui déjà ont été mises avant.Peut-on paramétrer, sur 2 boutons différents, l’import de PJ à 2 ou plusieurs endroits différents du formulaire ?

    ALFB
    Membre

    Merci,

    j’ai finalement opté pour 2 boutons: 1 pour ajouter une photo et l’autre pour attacher des poèces jointes.Je me suis basé sur les tuto que tu m’a suggéré.
    Je me heurte maintenant à deux pb:1: si j’ai plusieurs PJ, elles se chevauchent2: J’ai un bouton PJ par intervenant (voir dans la marge à droite): Lorsque la personne 1 clique sur PJ1, cela fonctionne la PJ est mise en dessous du bouton PJ1 mais lorsque la personne 2 clique sur PJ2, cela ramene aussi les PJ de la personne 1.Comment faire pour chaque PJ reste bien en place en dessous de “son” bouton ?Je mets le fichier en PJ

    ALFB
    Membre

    Voici le formulaire en PJ.
    L’idée c’est en cliquant sur le bouton PJ dans la marge à droite, l’utilisateur puisse ajouter un document à la suite de la première page.

    ALFB
    Membre

    Les utilisateurs du formulaires doivent pouvoir attacher des pièces jointes à la suite de la première page, qui elle ne bouge pas.
    Ce qui va varier d’un utilisateur à l’autre c’est le nombre de pages à ajouter au document (de 1 à X pages).
    Est-ce que this.insertPages en est capable ? –> En lisant la doc j’ai l’impression qu’il faut spécifié l’adresse du document. OU est-ce possible de combiner this.insetPages avec l’ouverture d’un explorateur pour aller chercher le document que l’on souhaite.
    Idem pour spawn template: Je sèche un peu sur le fait de commencer par la fin. comment s’y prendre ?
    Mais je cherche encore

    ALFB
    Membre

    bonjour,
    Il faudrait voir ce que tu veux faire exactement, mais je ne sais pas si c’est une excellente idée.
    Pourquoi ne pas créer des pages modèles et les ajouter selon le besoin ?
    https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/html2015/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_spawnPageFromTemplatebc-105&rhtocid=_6_1_8_23_1_104
    @+
    :bonjour:

    Merci , grace à ce super forum j’ai effectivement trouvé comment ajouté une page grace à la page modèle, avec ce code:
    this.getTemplate(“page1”).spawn({nPage:this.numPages, bRename:true, bOverlay: false});
    Et dans la page modèle j’ai mis ce coode:event.target.buttonImportIcon();

    mais si j’importe un document de plusieurs page alors il n’y a que la première page qui s’ajoute. Les autres ne s’ajoute pas.
    Le but final étant de pouvoir ajouter un ou des  documents de 1 à n page à la suite de ma première page.Je continue mes recherches ou alors une ame charitable

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