Donnez vie à vos documents numériques !
 

Piece jointe et icône

abracadabraPDF Forums PDF – Général Piece jointe et icône

  • Créateur
    Sujet
  • #71590
    destylast
    Participant

    Bonjour je suis un petit nouveau du script pour des documents PDF et j’aurais deux questions :

    1- j’ai besoin de créer un bouton pour enregistrer mes pièces jointes sur mon PDF mais en changement son emplacement à chaque fois pour qu’elles ne se chevauchent pas et voici le code que j’ai :

    var annot = this.addAnnot({
    page: this.pageNum,
    type: « FileAttachment »,
    author: « abracadabraPDF »,
    contents: « Double-clic pour ouvrir »,
    attachIcon: « PushPin »,
    point: [400,500],
    strokeColor: color.red,
    });

    mais il se chevauche à chaque fois, snif snif.

    2- peut on changer la taille de l’icône de la pièce jointe ainsi que de la remplacer par un personnel (un script explicatif serait le bienvenu pour mes deux questions).

Affichage de 25 réponses de 1 à 25 (sur un total de 80)
  • Auteur
    Réponses
  • #71592
    bebarth
    Maître des clés

    bonjour,
    Il est normal que tes icônes s chevauchent à chaque fois vu que tu leurs donnes la même position [400,500] !
    Le sujet a été traité il y a déjà un certain temps…

    Personnalisation d’un bouton permettant d’importer une pièce jointe

    Je te joins le fichier que j’avais fait à l’époque. Essaye de l’étudier et n’hésite pas à demander ce que tu ne comprends pas !

    Il n’est pas possible de personnaliser les icônes, mais on peut modifier leurs tailles comme indiqué dans le lien.

    @ Merlin : Le fichier Excel que l’on a extrait m’a bien été utile pour retrouver le post et le fichier…

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #71613
    Merlin
    Maître des clés

    Bonjour

     

    2- peut on changer la taille de l’icône de la pièce jointe ainsi que de la remplacer par un personnel (un script explicatif serait le bienvenu pour mes deux questions).

    Non. Tout ce qu’on peut remplir c’est l’info-bulle, qui est ici dans ton script :

    contents: « Double-clic pour ouvrir »,

    #71614
    Merlin
    Maître des clés

    Le fichier Excel que l’on a extrait m’a bien été utile pour retrouver le post et le fichier

    EXCEllent !

    👍

    #71620
    destylast
    Participant

    merci pour vos réponse, la je suis en plein test et je vous ferai un retour une fois le tout OK

    #71622
    bebarth
    Maître des clés

    Bonjour 2- peut on changer la taille de l’icône de la pièce jointe ainsi que de la remplacer par un personnel (un script explicatif serait le bienvenu pour mes deux questions). Non. Tout ce qu’on peut remplir c’est l’info-bulle, qui est ici dans ton script : contents: « Double-clic pour ouvrir »,

    eh ben si, comme expliqué dans le post !

    @+
    😎

    #71626
    Merlin
    Maître des clés

    Ah ben oui !

    😉

    #71632
    destylast
    Participant

    je commence a désespère cela ne fonctionne pas, en pj mon PDF avec mon script et je suis adobe acrobat DC.

    Attachments:
    You must be logged in to view attached files.
    #71634
    bebarth
    Maître des clés

    bonjour,
    Le script ne fonctionnait pas car l’objet annots est nul (n’existe pas vu qu’il n’y a aucun commentaire).
    Je te conseille de travailler avec la console pour voir les messages d’erreurs.
    J’ai jeune (JavaScriptologiquement) lorsque j’ai écrit ce script et j’y ai donc apporté quelques modifications. 🤓

    var aRect=this.getField("Buttonn").rect;
    annots=this.getAnnots();
    var j=0;
    if (annots!=null) {
    for (var i=0; i<annots.length; i++) {
    if (annots.type=="FileAttachment") j++;
    }
    }
    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",
    author: "abracadabraPDF",
    contents: "Double-clic pour ouvrir la piece jointe",
    attachIcon: "PushPin",
    point: [aRect[0]-(25*(j+1)), aRect[1]-10],
    strokeColor: color.red,
    });
    annot.contents=annot.attachment.name;
    annots=this.getAnnots();
    for (var i=0; i<annots.length; i++) {
    if (annots.type=="FileAttachment") {
    var licone=annots.attachIcon;
    var r=annots.rect;
    r[2]=r[0]+20;
    r[3]=r[1]+40;
    annots.setProps({rect: r});
    }
    }
    }

    N’hésite pas à demander des explications.

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #71641
    destylast
    Participant

    Merci pour ton retour très pros(pour la console, faut-il encore bien l’interprète le message d’erreur) mais j’aurais 3 questions:

    1- je limite mes pièces jointes à 5 mais si la personne efface une d’elle sur les 5 et veuille la remplacer par exemple la position n° 3 la nouvelle viendra se superposer sur la 5 donc il y a un problème comment faire ?

    2-sur mon futur formulaire j’aurais des champs en surbrillance (couleur bleue par défaut) à remplir, je sais que l’on peut changer dans les paramètres pour changer cette couleur par script aussi mais peut on changer la surbrillance  seulement d’un champ cela passera par script car pas possible de le faire avec les réglages.

    3-et la dernière peut on définir un mot de passe pour un ensemble de champ réserver à certaines personnes(particulier et administration).

    Un petit exemple serai bienvenu que je puisse essayer d’assimiler le principe et encore merci de vos réponses.

     

    #71642
    Merlin
    Maître des clés

    1. Il faut initialiser un compteur à zéro et désactiver le bouton d’importation dès qu’il arrive à 5.

    Si le document est susceptible d’être fermé et réutilisé ensuite, je te conseille de stocker le compteur dans un champ masqué et non pas dans une variable volatile (qui disparait à la fermeture du document).

     

    2. La surbrillance et la couleur de surbrillance est la même pour tous les champs, on ne peut pas faire de cas particuliers. Sauf si on simule la surbrillance en affectant des couleurs via JavaScript mais c’est une autre paire de manches.

     

    3. Oui. Je ne connais pas ton document mais il y a peut-être plus simple : remplacer le mot de passe par une touche « secrète ».

    Par exemple en utilisant CTRL + clic ou MAJ + clic, c’est une bête astuce à laquelle on ne pense pas assez souvent.

    (Un champ peut déclencher une action différente de l’action « de base » si l’utilisateur se sert d’une de ces deux touches de modification en cliquant.)

    #71643
    destylast
    Participant

    a tu des exemples à me montrer pour que je puisse comprendre.

    #71644
    Merlin
    Maître des clés

    1. Ouvre le document « test1f_BB.pdf » posté ci-dessus par bebarth, il inclut la limitation à 5 pièces jointes (en utilisant une méthode plus subtile que celle que je suggérais).

     

    3. Place ce script en évènement « souris relevée » (mouse up) dans un champ :

    if (event.shift) // Si clic + majuscule
    {app.alert("Vous avez cliqué en appuyant sur la touche majuscule."}
    else
    {app.alert("Coucou."}

    #71645
    bebarth
    Maître des clés

    Par exemple en utilisant CTRL + clic ou MAJ + clic, c’est une bête astuce à laquelle on ne pense pas assez souvent.

    Je connais event.shift pour maj+clic mais je ne connais pas pour ctrl+clic ! C’est quoi la commande ?

    1- je limite mes pièces jointes à 5 mais si la personne efface une d’elle sur les 5 et veuille la remplacer par exemple la position n° 3 la nouvelle viendra se superposer sur la 5 donc il y a un problème comment faire ?

    Les pièces jointes sont indiquées dans l’ordre où on les importe. Si tu supprimes la numéro 3, la numéro 4 devient la numéro 3 et la numéro 5 devient numéro 4. Le nouveau fichier importé arrivera toujours en dernière position.

    On peut désactiver la surbrillance de tous les champs avec app.runtimeHighlight=false et la simuler uniquement pour un champ avec event.target.fillColor=[« RGB », 200/255,1,1]; par exemple !

    @+
    😎

    #71646
    Merlin
    Maître des clés

    Il faut remplacer « shift » par « modifier » :

    La touche « modifier » c’est la touche CTRL sur Windows ou la touche CMD sur Mac.

     

    if (event.modifier)
    {app.alert("Vous avez cliqué en appuyant sur la touche CTRL ou la touche CMD.");}
    else
    {app.alert("Coucou.");}

    #71647
    bebarth
    Maître des clés

    👏💪👍

    @+
    😎

    #71648
    destylast
    Participant

    Merci pour vos conseils, là je travaille sur ma structure de mon PDF pour insérer mon formulaire avec mes scripts par la suite et je pense encore faire appel a vos conseils si un problème se présente et de votre coté si je peux rendre service cela sera avec plaisir.

    #71649
    Merlin
    Maître des clés

    👍

    #71650
    bebarth
    Maître des clés

    L’api reference indique pour event.modifier :

    Specifies whether the modifier key is down during a particular event. The modifier key on the Microsoft
    Windows platform is Control and on the Mac OS platform is Option or Command. This property is not
    supported on UNIX.

    Pour info, sur Mac, seule la touche Option fonctionne, la touche Commande n’est pas reconnue (le fichier joint indique que l’on a appuyé sur aucune touche) et avec la touche ctrl rien ne se passe…

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #71653
    destylast
    Participant

    Bonjour,

    Me revoici avec mon formulaire presque fini mais avec un petit souci(gros même),

    Dans mon tableau sur la colonne des pièce jointe je voudrai mettre 5 fichiers par case et si cela n’est pas possible avec la limitation de 5 ou alors juste pouvoir avec le bouton les mettre au même endroit du bouton au nombre de 5 sans qu’il ne se superpose car actuellement il se répartisse sur l’ensemble des boutons et moi je voudrais qu’il soit indépendant de chaque bouton.

    Exemple: bouton 1 cinq pièces jointes dans la case/bouton 2 cinq pièces jointes dans la case ainsi de suite pour tout les boutons du tableau.

    Un exemple serai top et encore merci.

    #71654
    destylast
    Participant

    ok fichier de moins 1MB news 1

    • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par destylast.
    • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par destylast.
    • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par destylast.
    • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par destylast.
    Attachments:
    You must be logged in to view attached files.
    #71662
    Merlin
    Maître des clés

    « Pour info, sur Mac, seule la touche Option fonctionne, la touche Commande n’est pas reconnue (le fichier joint indique que l’on a appuyé sur aucune touche) et avec la touche ctrl rien ne se passe… »

    C’est bien possible, en fait je n’ai pas testé sur Mac depuis fort fort longtemps car je préfère utiliser la touche MAJ, c’est plus simple à expliquer car ça vaut pour les deux plateformes.

    #71663
    Merlin
    Maître des clés

    « Exemple: bouton 1 cinq pièces jointes dans la case/bouton 2 cinq pièces jointes dans la case ainsi de suite pour tout les boutons du tableau. »

    Je ne sais pas ce qu’en pense bebarth mais dans ce cas je ne vois pas comment faire autrement qu’en mettant un compteur pour chaque bouton.

    #71664
    destylast
    Participant

    oui pas simple et de plus pour un débutant, un exemple serai bienvenu la je test des solutions mais rien ne fonctionne snif

    #71665
    bebarth
    Maître des clés

    bonjour,
    Je vais y réfléchir… mais pas aujourd’hui, certainement demain !

    @+
    😎

    #71666
    bebarth
    Maître des clés

    …ça ne m’empêche pas de réfléchir !
    Que doit-on faire si une pièce jointe est supprimée ? Remettre toutes les icônes à la suite ou laisser un espace vierge pour éventuellement remettre une icône à cette place ?

    @+
    😎

Affichage de 25 réponses de 1 à 25 (sur un total de 80)
  • Vous devez être connecté pour répondre à ce sujet.