Toutes mes réponses sur les forums
-
AuteurRéponses
-
max68Membre
Merci bebarth !
C’est cool, ça fonctionne bien. A priori tu as créer le look avec ID et l’interactivité avec Acrobat ou tout avec ID ?
Sinon dans AC comment fais-tu pour dire au bouton “afficher fiche 2” de rendre visible le calque sur lequel se trouve la fiche 2.
En regardant tes options de boutons rien ne l’indique. As-tu modifier la nature des blocs fiches ?
C’est ce lien entre le bouton et la cible que je ne comprends pas du tout. L’action du bouton est réglée sur “définir la visibilité du calque” oui, mais de quel calque !!!! :doute: :mur:max68MembreOuha merci Merlin c’est exactement ce que je veux faire.
Comme je l’ai dit plus haut, ici il faut du javascript.
C’est certes la voie royale mais je ne comprends rien à ce langage et je suis dépendant de la (très) bonne volonté de personnes disponibles comme toi, bebarth et bien d’autre.
c’est pourquoi je m’efforce d’utiliser les outils fournis par Adobe.
Peut-être auriez-vous une solution en passant par les outils interactifs d’indesign, c’est lui que j’utilise la plupart du temps ?
Encore merci !max68MembreVoici un exemple de ce que je voudrais (les calques à afficher sont ici masqués dès le départ : voir la palette des calques)
max68MembreMerci bebarth pour ton script ! c’est super cool.
Tu peux me dire comment le mettre en œuvre ? je n’ai jamais fais ça.
J’aimerais aussi faire cette action sans script en utilisant les outils Lien et Cible mais j’ai beau me creuser la tête je ne vois nul part dans la doc acrobat comment lier le bloc lien avec le calque que je cible.Voici la doc :
Association de la visibilité d’un calque à une destination de lien
Dans le panneau de visualisation, définissez les propriétés du calque associées à la destination.
Choisissez Affichage > Afficher/Masquer > Volets du navigateur > Destinations.
Le panneau Destinations s’affiche sous forme de fenêtre flottante. Vous pouvez l’ancrer aux autres panneaux en le faisant glisser vers le navigateur. Si le panneau est réduit, cliquez sur le bouton Destinations pour le développer.
Choisissez Nouvelle destination dans le menu Options , puis attribuez un nom à la destination.Activez l’outil Lien , puis tracez le lien dans le panneau de visualisation. (Comme le contenu est ajouté à tous les calques, cela n’a pas d’importance si vous semblez créer le lien sur le calque cible. Le lien fonctionne indépendamment du calque sur lequel vous le créez.)
Dans la boîte de dialogue Créer un lien, sélectionnez Lien personnalisé et cliquez sur Suivant.
Dans le panneau Aspect de la boîte de dialogue Propriétés du lien, définissez l’aspect du lien.Cliquez sur l’onglet Actions dans la boîte de dialogue Propriétés du lien, choisissez Définir la visibilité du calque, puis cliquez sur Ajouter.
Fermez les boîtes de dialogue.
Vous pouvez tester le lien. Pour ce faire, modifiez les paramètres de calque, sélectionnez l’outil Main et activez le lien.On nous précise ici de choisir “Définir la visibilité du calque” mais à comment savoir quel calque doit être activé ?
Je ne pige rien à leurs explications :mur: :mur:max68MembreMerci Bebarth c’est super.
Mais ici tu sélectionnes le texte (ce qui m’intéresse aussi). Je cherche à obtenir un PDF au format A4 qui aurait au moins un bouton. En cliquant dessus on fait apparaître un bloc qui sera mis en forme spécifiquement dans Indesign et qui contiendra du texte. Il faut que ce texte puisse être sélectionnable. J’ai vu dans acrobat pro, dans les options de bouton du formulaire qu’il y avait une action : définir la visibilité d’un calque. Je pense que ce peut être une solution sauf que je n’arrive pas à mettre en application cette fonction. À moins que vous ayez une autre idée ?Ajout : après une recherche j’ai vu ici http://abracadabrapdf.net/forum/index.php/topic,2995.msg16964.html#msg16964 comment faire sauf que je ne comprends pas comment “cibler” un calque.
Dans les options on sélectionne en effet “Définir la visibilité du calque” mais on ne peut a priori pas (j’ai pas trouvé) dire au bouton quel calque il doit afficher.
Si on a 3 boutons sensés afficher chacun un calque différent, comment fait-on si on ne peut pas dire à chaque bouton quel calque il doit afficher ?
Sais pas si je suis clair, en tout cas merci pour votre aide !max68Membrehouhou
Si quelqu’un pouvait me donner un coup de main… :oh:
max68MembreOk merci. Si Alex pouvait jeter un œil ce serait super :priere:
max68MembreTu as raison. Ci-joint une maquette de ce que je cherche à faire.
Ici, si le traitement à été effectué une fois ou plus, la case “traitement effectué” se coche automatiquement.max68MembreOups, j’ignorais la chose, désolé. :Smiley08: :siffle:
max68MembrePersonne n’a une piste ? :Euuuh:
Il y a des choses qui s’en approche dans ce post :
http://abracadabrapdf.net/forum/index.php/topic,2347.msg12336.html#msg12336
mais je ne sais pas comment traiter ces infos. :Ooops:max68MembrePour info, voici les pages évoquées par Merlin du Doc acrobat qui traitent du problème de couleur.
Si ça peut vous être utile.[Fichier joint supprimé par l’administrateur]
L’enfer est pavé de bonnes intentions.
Je comprend bien que tu veux aider, mais c’est contraire au CLUF* d’Adobe : seul Adobe peut distribuer les documents d’Adobe. Il vaut mieux donner des liens, comme ci-dessus.* ou EULA en anglais : Contrat de Licence de l’Utilisateur Final ou End User License Agreement
max68MembreJe vais laisser les choses en l’état. C’est pas la fin du monde. Merci pour ton aide Merlin :Smiley03:
max68MembreJ’ai récupéré le doc et j’ai fais des essais mais sans succès. Pour le moment les versions mobiles sont trop limitées pour ce que je cherche à obtenir. Patience donc.
En tout cas merci beaucoup pour ton aide sur ces différents posts Merlin. :Smiley03:max68MembreJuste une dernière info sur ce post :
Dans le script :
event.target.fillColor = event.value == “” ? color.blue : color.red;
qui permet de changer les couleur du champ en fonction de ce qu’il contient (si la valeur est “white” sur un mobile la couleur par défaut apparait…) peut on remplacer les valeur .red ou .blue, par une valeur hexadécimale ? de type : f3f3f2 (j’ai essayé : color.f3f3f2 mais rien).max68MembreOk merci beaucoup pour ton aide et ta disponibilité Merlin. Je ferai au mieux avec les limites du mobile. A très bientôt… :Smiley15:
max68MembreJ’ai inséré le code selon ta directive et j’ai le même souci (je suis sous IOS . Existe-t-il une solution pour contourner le problème ?
(Voir fichier v7 joint)max68MembreJ’ai pas vu le fichier :siffle: Suis confus :Ooops:
Sur ton fichier v6, chez moi, je n’ai pas la possibilité de saisir du texte dans un champ liste.
Or c’est précisément ce que je veux pouvoir faire en permettant à acrobat de concaténer proprement comme sur la version 3 du fichier.
Mon souci est de prévenir la suppression accidentelle de la totalité du champ liste (y compris l’espace qui laisse apparaitre le champ comme vide).
Dans ton fichier v6, si j’active la saisie par l’utilisateur et que je supprime tout le contenu du champ, la dernière valeur de ce champ reste concaténée, ce que je ne veux pas. Ci-joint le v6 avec l’activation de la saisie. Peut être que son comportement sera différent chez toi.
Mercimax68MembreOk merci Merlin mais de toute évidence ça ne fonctionne pas sur mobile (encore une fois) à moins que j’ai mal insérer le script.
je teste avec PDF expert et Adobe reader : même constat :Smiley11:max68MembreJe pense ne pas avoir été clair dans ma demande. Désolé, car ça ne marche toujours pas :Smiley11:
Par sécurité, je voulais que, si j’autorise l’utilisateur à saisir du texte dans ma LD et que celui-ci supprime pour X raisons, même l’espace (donc strictement plus rien dans le champ) mon texte concaténé devra se comporter toujours de la même façon : que le champ totalement vide ne soit pas pris en compte et que les résultats s’ajoutent les uns aux autres comme dans le fichier ci-joint (doc-test-formulaire-concatenation-okv3.pdf).
Dans le second fichier joint (doc-test-formulaire-concatenation-okv6.pdf) j’ai insérer ton dernier code Merlin, sans succès. J’ai dû rater qq chose.
max68MembreMerci pour les réf. vidéo Merlin. Comme mon anglais est approximatif je vais regarder vers ce qui existe en français.
Si toi ou quelqu’un d’autre peux m’aider sur mes dernières questions je suis preneur. :priere:
max68MembreJe viens d’insérer le script en lieu et place du précédent et ça ne fonctionne plus. la concaténation génère à nouveau des espaces au lieu de remonter le texte (voir exemple fichier ci-joint) :Smiley05: .
max68MembreMerci encore pour ton aide précieuse Merlin. En effet tout fonctionne comme je le souhaitais. :soleil:
Ceci m’amène à demander si vous connaissez une formation video très didactique pour débutant autour du javascript et qui serait particulièrement adaptée à Acrobat. J’ai cru comprendre que le JS d’Acrobat comporte des particularités qui le rend légèrement différent du standard. Il y en as pas mal sur le marché (elephorm, tuto.com, videobrain, etc). et je ne sais pas laquelle serait le plus adaptée. Vu mon niveau ce ne serait pas du luxe.
Sinon dernier point qui me pose problème :
J’ai un certain nombre de cases à cocher réparties sur plusieurs pages de mon PDF et qui signalent un même évènement.
Toujours dans ma page de synthèse, je souhaite cocher automatiquement la case TULIPE si au moins une autre case TULIPE est cochée dans mon PDF.
Si aucune case n’est cochée, rien ne se passe mais si au moins une case est cochée la case se trouvant en page synthèse se coche.
Sur le site j’ai trouvé une piste qui s’en approche mais je n’ai aucune idée de la syntaxe exact comme de l’endroit où insérer le code. :Ooops:
ex.:
La formule magique c’est :
this.getField(“MaCaseAcocher”).checkThisBox(0,true);Merci encore de votre aide (mention spéciale pour Merlin :Smiley01: )
PS : Juste un détail. J’ai besoin de laisser la possibilité de saisir des infos par l’utilisateur final. Est-il possible d’insérer automatiquement un espace si l’utilisateur supprime tout dans le champ (y compris l’espace indispensable pour que le texte concaténé remonte correctement) ?
max68MembreJe viens de tester le script que tu as modifié mais ça ne fonctionne pas chez moi. :doute:
J’ai vu que tu as changé le nom des variables, ce que je ferai désormais.
Mais lorsque je supprime les données de la première liste, la valeur concaténée de la seconde reste à sa place et ne remonte pas ce qui devrait être le cas. :Smiley11:max68MembreMais comment acrobat considère-t-il un champ vide ? :oh:
je n’ai pas trouvé sur le forum.
Lorsque je crée une liste je n’ai aucun moyen de définir un élément de la liste comme vide sauf en insérant un espace.
Mais avec cette solution le champ semble vide mais il ne l’est pas (sauf si Acrobat ne considère pas les espaces comme des caractères et les ignore).max68MembreVraiment merci Merlin pour ton aide, j’apprécie beaucoup
Je te confirme donc que la concaténation fonctionne sur IOS mais uniquement avec PDF expert.
J’ai une autre question qui découle de je que je constate :
Je vais avoir environ une trentaine de LD réparties sur plusieurs pages. A priori l’ordre dans lequel le nom des LD est écrit dans le script défini l’ordre d’inscription dans le champ de concaténation.
Mon souci est que je vais avoir des lignes vides car toutes mes LD ne seront pas forcément renseignées (tout dépend de ce que j’observerai sur le terrain).
Existe-t-il un moyen de ne concaténer que les champs renseignés et qu’ils viennent se mettre les uns au dessous des autres (qqsoit le nombre de LD vides entre chaque).D’ailleurs à ce sujet comment rendre un champ vide autrement qu’avec un espace ? Acrobat considère t-il l’espace comme rien (je ne pense pas).
Peut-être une case à cocher devant la LD qui rendrait la LD “active” et donc prise en compte par le script de concaténation ? j’avoue que je n’ai aucune idée de la faisabilité de la chose.
max68MembreBon ben me revoilà.
Je sèche complètement. J’ai fais un test simple avec 2 listes est un champ de concaténation.
J’ai modifié le code que tu m’as donné Merlin en le simplifiant pour l’adapter à mon test.
Le code est le suivant :
Code:// initialisation des variables
var arbres=this.getField(“arbres”);
var fleurs=this.getField(“fleurs”);
// vérifie si les champs sont vides (facultatif)
if (arbres.value == “”)
{
app.beep(0);
app.alert(“Le champ «arbres» est vide!”);
}
else if (fleurs.value == “”)
{
app.beep(0);
app.alert(“Le champ «fleurs» est vide!”);
}
// concaténation dans le champ d’accueil
// antislash-r sert à sauter une ligne
adressFinale.value = “rr” + nom.value + ” ” + prenom.value + “r” + adress.value + “r” + CP.value + ” ” + comune.value;Rien ne s’ajoute dans mon champ texte.
Si je trouve la solution il faudrait que je puisse mettre les mots séparés par des retours paragraphes, je ne sais pas si c’est faisable.
Je joins le fichier si ça peut être utile. Merci de votre aide.
max68MembreJe suppose que le code doit venir dans le champ sensé récupérer la concaténation mais dans quelle partie des options dois-je le mettre : format, validation ou calcul ?
max68MembreOOHH qu’il est beau le code :Smiley08:
Quand je vois ça, j’ai l’impression d’être tout nu dans une rue de Pekin aux heures de pointe… :priere: :bonjour:Bon, je teste pour vérifier si ça fonctionne sur IOS et je reviens vers toi
Merci :Smiley01:max68MembreOK Merlin, j’ignorais quel était l’origine de ce problème javascript sur mobile. Merci pour l’info. (J’ai acrobat DC)
Patience, donc, de notre part.Penses-tu que je puisse mettre en place ce que j’évoquais avant (détection du champ plein et passage au suivant ) ?
Est-ce que la concaténation est gérée sur iOS ?
Je commence tout juste à mettre les mains dans JS et je transpire beaucoup, beaucoup, beaucoup… :Euuuh: :oh: :priere:max68MembreMerci beaucoup Merlin pour le coup de main : très appréciable :Smiley01: et désolé pour les balises.
Je constate que ça fonctionne très bien avec PDF expert mais pas sur reader ce qui est un comble.
Sans trop de surprises d’ailleurs car j’ai lu ça et là cette invraisemblance de la par d’Adobe…Pour revenir à mon projet :
Est-ce que d’après toi il est possible de faire la même chose (récupérer la valeur d’un champ dans un autre champ) mais en remplissant ces champs dans un ordre précis : je m’explique.J’ai X listes déroulantes. Dans mon flux de travail toutes ne seront pas utilisées. Je souhaite donc faire une synthèse, dans une autre page, des infos qui ont été sélectionnées dans ces listes (plus pratique à consulter que de vérifier 50 listes par exemple).
Ma première idée était de laisser des champs vides qui viendront se remplir en fonction des sélections des listes.
Problème : j’aurai une succession de champs alternativement vides et remplis, donc pas lisible et pratique du tout (je viens de m’en rendre compte :Smiley11: )
D’où mon idée : Ma première liste déroulante (LR, plus simple) est validée > elle va remplir le premier champ libre.
Ma Xième LR est validée, le script comprend que le premier champ est plein et va reporter la valeur de la liste dans le champ suivant qui est libre, etc.• Peut-être qu’une autre solution serrait de concaténer les différentes sélection de listes dans un champ texte ?
J’espère avoir été clair.
Si j’arrive à faire avaler ça au moins à PDF expert, je serai un homme heureux et mon projet pourra aboutir. :geek:
Merci de votre soutien.
max68MembreMerci Merlin pour ta réponse.
J’ai PDF Expert et les fichiers (créés par Alex, entre autre, donc plutôt optimisés) ne fonctionnent pas.
Je voudrais tester ma fonction évoquée ici mais je n’ai aucune notion de Javascript.
En fait, si je sélectionne dans une liste déroulante le mot hêtre j’aimerais qu’il vienne se mettre dans un champ spécifique sur une autre page.
Quelqu’un peut-il m’aider en me proposant un exemple simple de ce type pour que je le teste voir si sa fonctionne afin que je sache si j’abandonne ou pas ce projet.
Merci à tous pour votre aide.
-
AuteurRéponses