abracadabraPDF › Forums › PDF – Général › Personnalisation d’un bouton permettant d’importer une pièce jointe
- Ce sujet est vide.
-
CréateurSujet
-
16 mai 2018 à 20:55 #45861
célé
MembreBonjour,
J’utilise le tuto https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/importer-programmatiquement-une-piece-jointe-dans-un-pdf/ pour faire un bouton permettant d’importer une pièce jointe dans un formulaire pdf. Je souhaiterais le personnaliser en faisant apparaître, au survol de l’épingle, non pas l’auteur mais le nom du fichier joint. Est-ce possible et comment ?
Merci pour votre aide ! -
CréateurSujet
-
AuteurRéponses
-
16 mai 2018 à 22:38 #63924
Merlin
Maître des clésBonjour.
Il faut ajouter cette ligne après le script qui est donné dans le chapitre 2 :
annot.author = annot.attachment.name;
:Smiley15:
16 mai 2018 à 23:42 #63925célé
MembreExtra !! :bravo:
17 mai 2018 à 19:58 #63926célé
MembreBonjour,
Pour continuer à personnaliser ce bouton d’import de PJ, je souhaiterais pouvoir facilement définir la position de l’épingle:
– pour l’instant je tâtonne pas à pas mais c’est laborieux, je suppose qu’il existe une méthode plus simple pour obtenir la position en px d’un point donné dans la page…
– autre idée: pourrait-on définir que l’épingle s’affiche systématiquement à gauche du bouton par exemple ?
Merci !17 mai 2018 à 20:26 #63927célé
MembreRe-bonjour,
Je précise ma question précédente car la 2e solution (définir la position de l’épingle par rapport au bouton) serait plus adaptée à ma situation : car je crée le pdf avec Foxit Phantom, et quand je l’ouvre dans Acrobat DC pour tester le remplissage du formulaire par un utilisateur, je vois que la position des épingles n’est pas la même que celle que j’avais calibrée dans Foxit…
Merci si vous avez une explication à cela et une solution à me proposer !18 mai 2018 à 09:22 #63928bebarth
Maître des clésbonjour,
Voici un exemple pour faire apparaitre l’épingle (ou autre) à la gauche du bouton.
Attention, le point à indiquer pour la position de l’icône est le supérieur gauche, et la taille de l’icône ne varie pas en fonction de l’affichage.
Il faudra certainement ajuster la position Y en fonction de la hauteur du bouton.
@+
:bonjour:19 mai 2018 à 08:47 #63929Merlin
Maître des clésBonjour.
Il existe une autre méthode : ouvrir le panneau des pièces jointes (à l’ouverture du document ou via JavaScript) et placer les icônes en dehors de la page pour que l’utilisateur ne les voit pas.
L’avantage du panneau c’est qu’il n’y a pas besoin de réinventer la roue avec JavaScript, l’utilisateur a tout sous les yeux.
:Smiley15:
19 mai 2018 à 08:50 #63930Merlin
Maître des clésquand je l’ouvre dans Acrobat DC pour tester le remplissage du formulaire par un utilisateur, je vois que la position des épingles n’est pas la même que celle que j’avais calibrée dans Foxit
Avec Acrobat le point zéro/zéro se trouve en bas à gauche de la page, Foxit compte peut être différemment.
19 mai 2018 à 08:54 #63931célé
MembreUn grand merci Bebarth ! Je n’ai pas encore eu le temps de le tester dans mon formulaire mais c’est tout à fait la fonction que je cherchais ! @+
20 mai 2018 à 16:54 #63932bebarth
Maître des clésbonjour,Une petite variante pour choisir l’icône et sa couleur.@+ :bonjour:
20 mai 2018 à 21:56 #63933Merlin
Maître des clésPour peaufiner il ne reste plus qu’à ajouter un compteur :
– soit pour empêcher l’importation de plus d’une seule pièce jointe,
– soit pour calculer le décalage spacial nécessaire pour que les icônes ne se chevauchent pas quand on importe plusieurs pièces jointes.
21 mai 2018 à 22:04 #63934célé
MembreHé hé, on ne les arrête jamais ^^
22 mai 2018 à 08:55 #63935Merlin
Maître des clés:Smiley03:
22 mai 2018 à 11:16 #63936bebarth
Maître des clésbonjour,
Voilà, j’ai un peu peaufiné le sujet avec un maximum de 5 pièces jointes !
On pourrait encore l’améliorer et vérifier que les icônes ne soient pas hors pages…
@+
:bonjour:22 mai 2018 à 12:01 #63937Merlin
Maître des clésLa boucle est bouclée, j’ai intégré un lien vers ce sujet au tuto mentionné dans la question : https://www.abracadabrapdf.net/?p=4295
(Voir 4.)
La communauté vous remercie.:bonjour:
4 juin 2018 à 09:53 #63938PhDCus
ParticipantBonjour à tous,
merci pour cette contribution, c’est très pratique.
Savez-vous s’il est possible de diminuer la taille de l’icône « pièce jointe » insérée ?Merci pour votre retour.
4 juin 2018 à 10:04 #63939Merlin
Maître des clésSavez-vous s’il est possible de diminuer la taille de l’icône « pièce jointe » insérée ?
Non car la taille de l’icône est indépendante du zoom de l’affichage.C’est pour ça qu’il peut être astucieux de placer les icônes en dehors de la page et d’utiliser (afficher/masquer) un bouton contenant une (petite) icône pour que l’utilisateur visualise la PJ.
Ça évite aussi de devoir calculer le placement exact de l’icône, puisque si on fait apparaitre un bouton il est forcément déjà pré-positionné.
:Smiley15:4 juin 2018 à 10:16 #63940PhDCus
Participantje viens de trouver un bout de code sur Internet que j’ai modifié :
var r = annots.rect;
r[2] = r[2]-5;
r[3] = r[3]-5;
annots.setProps({rect: r})Je l’ai intégré (comme j’ai pu, à l’ancienne…), la taille diminue, mais seulement après avoir recliquer sur le bouton…
4 juin 2018 à 12:31 #63941bebarth
Maître des clésbonjour,
C’est tout à fait exact. Les coordonnées r[0], r[1], r[2], r[3] pour l’icône sont semblables à celles indiquées pour le champ.
Pour avoir la largeur de l’icône il faut donc faire r[2]-r[0] et pour avoir la hauteur r[1]-r[3] (le 0 est en bas à gauche).
De tête, je ne connais pas exactement la largeur des icônes (il me semble qu’elle n’est pas identique pour tous), il faut donc faire attention de ne pas trop réduire !Si l’on veut placer l’icône à une position exacte par rapport au champ, j’avais écris un petit script dont je joint l’action pour connaitre exactement les coordonnées d’un champ.
@+
:bonjour:5 juin 2018 à 05:31 #63942PhDCus
ParticipantMerci pour le script !
Vous avez une idée pour que la réduction de l’icône se fasse sans recliquer sur le bouton ?
5 juin 2018 à 10:08 #63943bebarth
Maître des clésbonjour,
Il faut mettre tes lignes en fin de script, sauf qu’avant il faut « re-scanner » les annotations.
Sauf qu’avec r[2]=r[2]-5 et r[3]=r[3]-5, l’icône est diminué à chaque fois qu’on en rajoute un autre…
Il faudrait donc lui donner directement sa taille avec r[2]=r[0]+largeur et r[3]=r[1]+hauteur (ici c’est bien un plus, car…)Les coordonnées r[0], r[1], r[2], r[3] pour l’icône sont semblables à celles indiquées pour le champ.
…ça c’est faut ! Les coordonnées des l’icônes sont définis par le point inférieur gauche et le point supérieur droit (les champs sont définis par le point supérieur gauche et le point inférieur droit… il doit bien y avoir une explication mais je ne la connais pas).
J’ai vérifié les tailles des icônes et elles ne sont effectivement pas identiques :
Tombone = 7 x 17 pts
Punaise = 20 x 16 pts
Graphique = 20 x 20 pts
Etiquette = 20 x 16 pts
Attention donc de redéfinir les tailles proportionnellement par exemple r[2]=r[0]+10 et r[3]=r[1]+8 pour une punaise de moitié de taille originale.
Ci-joint le dernier fichier avec affichage dans la console des dimensions.
Dans ce fichier il faudra évidemment retirer les barres obliques et indiquer la largeur et la hauteur souhaitées.Code://r[2] = r[0]+largeurSouhaitee;
//r[3] = r[1]+hauteurSouhaitee;@+
:bonjour:5 juin 2018 à 11:46 #63944PhDCus
ParticipantImpeccable, merci !
le temps que je vois le message, j’ai trouvé cette solution.
5 juin 2018 à 12:24 #63945bebarth
Maître des clésÇa marche, mais… ça manque d’homomorphisme !
Attention donc de redéfinir les tailles proportionnellement par exemple r[2]=r[0]+10 et r[3]=r[1]+8 pour une punaise de moitié de taille originale.
A mon avis, tu devrais écrire :
Code://…pour un icône à l’échelle 1/2
r[2] = r[0]+(r[2]-r[0])/2;
r[3] = r[1]+(r[3]-r[1])/2;@+
:bonjour:5 juin 2018 à 14:21 #63946PhDCus
ParticipantCa marche nickel, merci pour ton aide !
12 septembre 2019 à 15:03 #63947daninet
ParticipantÈ possibile utilizzare JavaScript per importare i dati dell’allegato?
Con Acrobat Reader DC ?
grazie
:bonjour:
https://abracadabrapdf.net/forum/index.php/topic,3758.0.html12 septembre 2019 à 15:41 #63948Merlin
Maître des clésLa réponse est dans ce message : https://abracadabrapdf.net/forum/index.php?topic=3758.msg23272#msg23272
:Smiley15: -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.