Donnez vie à vos documents numériques !
 

Bouton coller photo + dupliquer ce champ photo sur chaque page

abracadabraPDF Forums PDF – Général Bouton coller photo + dupliquer ce champ photo sur chaque page

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44898
    jtwest
    Membre

    Bonjour,

    Je cherche à dupliquer un champ bouton contenant une image sur chaque page.
    Le contexte est qu’un client peut sur la première page uploader son logo en cliquant sur un bouton. Une fois l’image en place, chaque page doit afficher cette image dans son entête.
    En gros, il faudrait soit dupliquer l’image, soit faire une affectation de valeurs. (afin d’éviter que la personne doive uploader son logo à chaque page !)

    Pour ce qui est de l’upload, je sais faire :
    event.target.buttonPosition = position.overlay;
    event.target.buttonImportIcon();

    Pour le reste, je ne sais pas, avez-vous une idée du Javascript à intégrer ?
    Et sur quel event faut-il lier le bouton afin qu’il remplisse les autres champs une fois l’image uploadée ?

    Merci !
    Alain

    Mes infos système :
    – Adobe Acrobat 9 PRO. (9.5.5 mise à jour)
    – PC Windows 7

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Auteur
    Réponses
  • #57356
    brumbies
    Membre

    Bonsoir,

    Le “event.target” fonctionne mais limite l’affectation de la fonction (ici buttonPosition et buttonImportIcon) au seul bouton qui “reçoit” l’évènement.
    Donc tu as 2 possibilités pour faire ce que tu veux :
    1) Soit tu n’utilises qu’un seul bouton que tu dupliques et place en entête sur les autres pages.
    Dans ce cas tu peux utiliser le code suivant à placer dans les Actions => Souris relachée => Exécuter un script Javascript :

    Code:
    event.target.buttonPosition = position.overlay;
    event.target.buttonImportIcon();
    event.target.readonly = true; // permet de mettre ton bouton en “lecture seul”
    event.target.fillColor = color.transparent; // permet de mettre la couleur de fond transparente

    Par contre, pour modifier le logo tu dois fermer et rouvrir ton fichier.

    2) Soit tu utilises 2 boutons, l’un sur la première page permettant de choisir le logo, et l’autre que place et duplique sur chaque page au niveau de l’entête.
    Dans ce cas, le code est le suivant et est à placer au même endroit :

    Code:
    this.getField(“Nom du bouton à entête”).buttonPosition = position.overlay;
    this.getField(“Nom du bouton à entête”).buttonImportIcon();
    this.getField(“Nom du bouton à entête”).readonly = true; // permet de mettre ton bouton en “lecture seul”
    this.getField(“Nom du bouton à entête”).fillColor = color.transparent; // permet de mettre la couleur de fond transparente

    Etant entendu que les lignes readonly et fillColor sont inutiles et peuvent être paramétrées à la création du 2nd bouton (ce que je te conseille).

    Sinon une dernière solution serait de mettre le 2ème code dans un script d’ouverture de document et dans ce cas inutile de créer le 1er bouton.

    En espértant avoir été clair.
    :Smiley01:

    #57357
    Merlin
    Maître des clés

    le contexte est qu’un client peut sur la première page uploader son logo en cliquant sur un bouton. Une fois l’image en place, chaque page doit afficher cette image dans son entête.
    En gros, il faudrait soit dupliquer l’image, soit faire une affectation de valeurs. (afin d’éviter que la personne doive uploader son logo à chaque page !)

    Bonjour,

    Avant tout il faut savoir si ton client est censé utiliser Acrobat ou Adobe Reader (pour ce dernier, si oui quelle version ?), parce-que ça va changer beaucoup de choses.
    :Smiley01:

    #57358
    jtwest
    Membre

    Bonjour,

    Merci pour vos réponses rapides !
    Je suis un peu débutant sur Adobe Reader.

    #Merlin:
    Mon client utilisera ce qu’on lui demandera d’utiliser. Donc il prendra un reader courant sur le net, version >=7 de préférence pour la gestion de buttonImportIcon().

    #brumbies
    Merci beaucoup d’avoir pris le temps d’écrire ces deux solutions.
    Je préfère la solution n°2 qui va dans la logique de ce que je dois réaliser.

    En revanche, rien ne se duplique, je n’ai pas réussi à faire fonctionner ton code.
    Sur la page 1 (là ou on va chercher l’icone sur le disque dur), j’ai nommé le bouton B1 avec juste 2 lignes de code :

    Code:
    event.target.buttonPosition = position.overlay;
    event.target.buttonImportIcon();

    Sur les autres pages, j’ai mis les boutons B2, B3, … à Bn auxquels j’ai mis ton code sur l’action souris relâchée :

    Code:
    this.getField(“B1”).buttonPosition = position.overlay;
    this.getField(“B1”).buttonImportIcon();
    this.getField(“B1”).readonly = true;
    this.getField(“B1”).fillColor = color.transparent;

    Je ne vois pas bien comment chaque bouton va recevoir l’image de la première page… et ce qui va déclencher la copie ?!
    Une idée de mon erreur ?

    #57359
    brumbies
    Membre

    Bonjour,

    pour le script :

    Sur ton bouton B1 tu places le code :
    this.getField(“B2”).buttonPosition = position.overlay;
    this.getField(“B2”).buttonImportIcon();
    this.getField(“B2”).readonly = true;
    this.getField(“B2”).fillColor = color.transparent

    et ensuite tu ne crées pas n boutons sur n pages, tu crées 1 seul bouton B2 que tu dupliques sur l’ensemble de tes pages à entête.

    Attention avec cette solution tu visualiseras uniquement le logo sur le bouton B2 et non sur le bouton B1, mais je pense que c’est ce que tu cherches à avoir?
    :Smiley01:

    #57360
    Merlin
    Maître des clés

    Mon client utilisera ce qu’on lui demandera d’utiliser. Donc il prendra un reader courant sur le net, version >=7 de préférence pour la gestion de buttonImportIcon().

    Non, cette fonction n’est utilisable qu’avec Adobe Reader XI (11), ou versions ultérieures quand il y en aura.

    Je préfère la solution n°2 qui va dans la logique de ce que je dois réaliser.
    En revanche, rien ne se duplique

    C’est normal, d’où ma première question, et le lien.
    brumbies a plein de bonnes idées mais dupliquer un champ de formulaire c’est de la “création”, donc ce n’est possible qu’avec Acrobat (toutes versions).
    Ca ne peut pas fonctionner avec Adobe Reader.

    Je n’ai pas de solution toute faite, mais c’est une bonne question.
    Je vais y réfléchir…
    :geek:

    #57361
    jtwest
    Membre

    J’ai réussi grâce à brumbies à ce que le code fonctionne sur Adobe Acrobat.
    Mais comme tu le dis Merlin, ca ne fonctionne pas avec Adobe Reader…. ca n’a donc aucune utilité si mon client ne peux pas gérer cela !  Car il doit pouvoir uploarder son logo, enregistrer le PDF et l’envoyer à ses propres clients.

    J’ai liveCycle ES (qu ej’ai acheté avec le pack CS4), mais je ne sais pas l’utiliser.
    Si je crée mes formulaires PDF via cet outil, quelle différence pour l’utilisateur final qui utilise Adobe Reader ?
    Est-ce que ma gestion de logos sur les boutons marchera ?
    Vous connaissez les avantages et inconvénients de liveCycle ?

    #57362
    jtwest
    Membre

    Je viens d’installer Adobe Reader 11, il ne lis même plus les images, mais uniquement les PDF. Faut donc créer une image dans un PDF pour l’intégrer dans mon PDF.
    Usine à gaz…
    Merci en tout cas !

    #57363
    Merlin
    Maître des clés

    J’ai liveCycle ES (qu ej’ai acheté avec le pack CS4), mais je ne sais pas l’utiliser.
    Si je crée mes formulaires PDF via cet outil, quelle différence pour l’utilisateur final qui utilise Adobe Reader ?
    Est-ce que ma gestion de logos sur les boutons marchera ?

    Ca ne fera aucune difference dans ton cas.

    Vous connaissez les avantages et inconvénients de liveCycle ?

    Oui : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/acroforms-ou-xfa/

    #57364
    Merlin
    Maître des clés

    Je viens d’installer Adobe Reader 11, il ne lis même plus les images, mais uniquement les PDF.

    Ca c’est normal, Adobe Reader est un lecteur de fichiers PDF, pas un lecteur d’images.
    Il en a toujours été ainsi, aucune des versions de Adobe Reader n’a jamais lu aucun format d’image.

    Faut donc créer une image dans un PDF pour l’intégrer dans mon PDF.
    Usine à gaz…

    C’est la seule vraie différence entre un formulaire AcroForm et un formulaire XFA, dans Adobe Reader ces derniers permettent d’importer tous les formats d’images courants (JPG, PNG…), alors que ce n’est pas possible avec les AcroForms qui ne permettent que l’importation au format PDF.

    Ne me demande pas pourquoi, même l’équipe de développement ne sait pas répondre.
    :oh:

    #57365
    jtwest
    Membre

    Merci pour toutes ces précisions Merlin, c’est beaucoup plus clair !
    Ca fait plaisir d’avoir du monde qui prends le temps de répondre précisément à des questions :-)

    #57366
    Merlin
    Maître des clés

    Merci !

    J’oubliais : les formulaires XFA ne sont pas utilisables sur mobiles.
    Il n’y a que PDF Expert (application iOS) qui reconnait les formulaires XFA statiques, mais pas les XFA dynamiques. Ce qui de mon point de vue enlève tout intérêt à la chose.
    :idee:

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