Toutes mes réponses sur les forums
-
AuteurRéponses
-
MerlinMaître des clés
Essaye plutôt ça :
Code:app.execMenuItem(“ShowHideToolbarCommenting”);:Smiley15:
MerlinMaître des clésJe viens de séparer ton autre question, à laquelle j’ai répondu, pour en faire un nouveau sujet : http://abracadabrapdf.net/forum/index.php/topic,2795.0.html
:Smiley01:
MerlinMaître des clésBonjour.
S’il n’est pas correctement balisé, convertir un document PDF complexe en DOC se fait rarement sans “dégâts”, il y a toujours des éléments à reprendre.
Pour fusionner des données directement dans les PDF il y a :
– le script de Gilad “Connect PDF to a Database” : http://try67.blogspot.fr/2009/05/acrobat-connect-pdf-to-database.html
– le plugin d’Evermap : http://www.evermap.com/automailmerge.asp
Et Google en révelera certainement d’autres.
Sinon, si on l’a, on peut tout bêtement utiliser la fonction de Fusion de données de InDesign, il suffit d’importer le PDF (comme une image) et de le placer en fond de page.
Ensuite générer un ou plusieurs PDF a partir du document INDD fusionné est un jeu d’enfant.:Smiley15:
29 juillet 2015 à 15:24 en réponse à : Demande spécifique : liens automatiques sur toutes les pages #59363MerlinMaître des clésEt pour qu’un catalogue en PDF soit parfait, ne pas oublier de consulter la rubrique PDF Parfait du site : http://abracadabrapdf.net/category/le-pdf-parfait/
:bonjour:
29 juillet 2015 à 15:15 en réponse à : Demande spécifique : liens automatiques sur toutes les pages #59362MerlinMaître des clésEn fait le secret c’est de ne pas utiliser de liens, c’est-à-dire les objets créés avec l’outil Lien (avec une icône de chainon).
Il vaut mieux utiliser un champ de formulaire de type bouton.
Pourquoi ? Parce-qu’ensuite on peut les dupliquer sur toutes les pages en un tournemain, contrairement aux liens. :idee:On trouve les boutons et les autres champs de formulaire dans l’Editeur de formulaire d’Acrobat.
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lediteur-de-formulaire-dacrobat/Sur une des pages du document (en général la première), sur la “frise” il faut créer un bouton par chapitre, et pour chaque bouton utiliser l’action Aller à la vue en déclencheur Souris relevée.
La boite de dialogue qui suit est assez explicite sur la suite des évènements.Sinon on peut aussi utiliser l’action Lancer/Exécuter un JavaScript en utilisant :
this.pageNum = n-1;
Où n-1 est le numéro de la page cible.Moins 1 parce-qu’en JavaScript le compte commence à zéro. Donc pour aller page 15 : this.pageNum = 14;
Une fois tous les boutons créés sur cette page, et après avoir vérifié leur bon fonctionnement, il faut tous les sélectionner : clic-droit sur n’importe lequel : Dupliquer sur toutes les pages.
C’est tout.
:Smiley15:29 juillet 2015 à 09:58 en réponse à : Demande spécifique : liens automatiques sur toutes les pages #59360MerlinMaître des clésBonjour.
Oui, c’est assez simple à faire.
Mais avant de pouvoir expliquer comment il faudrait savoir de quel logiciel, et en quelle version, tu disposes.:Smiley15:
MerlinMaître des clésSerait-il possible d’avoir le script concernant les cases à cocher obligatoires ?
Télécharge le document proposé par Alex dans son dernier message…
:geek:MerlinMaître des clés– Savez vous s’il est possible d’avoir des versions d’essais de reader extension ? J’ai beau envoyer des mails ou passer par l’interface de demande du site d’adobe, je n’ai aucune réponse.
J’en doute.
Tu devrais essayer de passer par le chat, souvent plus réactif.MerlinMaître des clésBonjour et bienvenue.
– Seulement voila les postes client sont toujours en v9.X d’abobe reader, et ça la sécurité aime pas du tous. Nous sommes donc obligé de monter de version certainement adobe reader XI
Pourquoi ne pas passer directement à la version DC ?
Ca évitera le même remue-ménage dans 2 ans…
(Surtout s’il y a des Mac dans le lot, car sur Mac OS : version DC = full 64 bits, et donc mise-à-jour obligatoire de tous les plugins)– Pour faciliter un peu tous ça, le composant magique que l’on utilise (Pdf annotation services), est en fin de vie et ne supporte pas les versions au dessus du reader v9
Il va falloir le (faire) mettre à jour, ou bien changer le fusil d’épaule.
Quid aussi du reader extension…
Adobe Reader X permet d’enregistrer des PDF commentés ou des formulaires remplis sans que les PDF n’aient besoins d’être “activés”. Mais Reader X ne propose que 2 outils de commentaires.
Adobe Reader XI et Acrobat Reader DC proposent la même chose mais avec tous les outils de commentaires à disposition (finies les mesquineries ).
Par contre les Reader Extensions restent nécessaires dans certains cas (la poule doit encore pondre un œuf en or de temps en temps), notamment si on veut pouvoir utiliser les signatures avec Certificat numérique.
Par-contre, concernant le SOAP et la connexion FDF-base de données je ne sais pas répondre, mais un autre membre le fera certainement…
:Smiley15:28 juillet 2015 à 08:32 en réponse à : Contrôles de champs, listes déroulantes et cases à cocher #59349MerlinMaître des clés– Le souris entrée n’est pas fonctionnel sur iPad
C’était prévisible !
:geek:27 juillet 2015 à 17:12 en réponse à : Contrôles de champs, listes déroulantes et cases à cocher #59346MerlinMaître des clésSinon, est-il possible de contrôler les champs obligatoires avant de pouvoir signer le document ?
Oui, avec un peu de JavaScript.
Ce sujet a déjà été traité plusieurs fois, une recherche via le bouton de la barre rouge ci-dessus devrait donner de bons résultats.Par-contre rien n’assure que l’une ou l’autre des méthodes proposées fonctionne avec PDF Expert : il va falloir les tester.
:joker:MerlinMaître des clésBonjour.
Juste après avoir “remplacé les pages” essaie de : Enregistrer-sous, Fermer, et Ouvrir le PDF.
Juste pour voir…Sinon, connais tu cet indispensable script pour Acrobat : InDesign Fixups ?
==> https://www.uvsar.com/projects/acrobat/indesignfixups/Si ton InDesign est en français (et donc le nom du calque de base aussi), j’en ai fait une version francisée.
Parce-que la vérité c’est que InDesign a une façon bien à lui de générer les calques PDF (en fait des sous-calques placés dans un seul groupe) qui met un peu la zone quand on veut les utiliser avec JavaScript.
:Smiley15:
27 juillet 2015 à 08:29 en réponse à : Contrôles de champs, listes déroulantes et cases à cocher #59343MerlinMaître des clésHeureusement que ça n’empêche pas l’enregistrement du document ! Ce serait très bête, et c’est un coup à fâcher les utilisateurs…
Par-contre concernant l’envoi par email il n’y a pas de raison que ça ne fonctionne pas, mais il faut utiliser la fonction “Envoyer un formulaire” (Submit), si tu utilises la commande d’envoi par messagerie du menu Fichier il est normal que ça ne bloque rien.
26 juillet 2015 à 09:31 en réponse à : Contrôles de champs, listes déroulantes et cases à cocher #59341MerlinMaître des clésSi tu utilises des boutons-radio c’est aussi simple que pour le 1er champ de texte : il suffit de cocher la case “Obligatoire”.
On peut également utiliser des cases-à-cocher comme des boutons-radio : il faut qu’elles aient toutes exactement le même nom mais avec une valeur d’exportation différente (Propriétés : Options).
L’avantage des cases-à-cocher c’est que l’utilisateur peut décocher la série, contrairement aux boutons-radio.
Voir ci-joint.
:Smiley03:
26 juillet 2015 à 09:13 en réponse à : Contrôles de champs, listes déroulantes et cases à cocher #59339MerlinMaître des clésBonjour.
J’ai mis les 2 scripts dans le ci-joint.
Par-contre, pour les 5 cases-à-cocher je ne sais pas faire…:Smiley15:
25 juillet 2015 à 09:02 en réponse à : Contrôles de champs, listes déroulantes et cases à cocher #59337MerlinMaître des clésBonjour.
Pour les 2 premiers points il suffit de cocher la case “Obligatoire” dans les “Propriétés” du champ.
Pour les 2 autres il faudra y ajouter un brin de JavaScript, mais il faudrait que tu postes une maquette.
:Smiley01:(C’est une simple question de temps, je ne sais pas qui va passer 1/4 d’heure à construire un formulaire juste pour pouvoir commencer à te répondre…)
:geek:25 juillet 2015 à 08:58 en réponse à : Affichage valeur selon choix plusieurs listes déroulantes #59310MerlinMaître des clésBonjour.
Je crois qu’il faudrait que tu postes ton document ou bien une petite maquette ne contenant que les champs nécessaires…
:Smiley01:MerlinMaître des clésIl n’y a pas forcément besoin de script ni de bouton, par exemple Acrobat DC sur mobile peu très bien extraire une page d’un document et l’enregistrer. Il y a juste à utiliser ses fonctions natives.
Ca m’étonne que PDF Expert n’en fasse pas autant…:doute:
MerlinMaître des clésIl faut tester…
Mais je n’y crois pas trop.
:joker:MerlinMaître des clésBonjour.
Il faut extraire la page concernée et l’enregistrer.
C’est assez simple à faire mais… ça ne fonctionnera qu’avec Acrobat, pas avec Reader.:Smiley01:
MerlinMaître des clésBonjour.
Il suffit de dupliquer le champ et de l’orienter à 90°, ou bien d’en créer un autre et de lui donner exactement le même nom.
:Smiley01:
MerlinMaître des clésJe remercie tous les participants.
:bonjour:
7 juillet 2015 à 12:25 en réponse à : Comment ajouter DES NOUVELLES PAGES à un endroit précis du document ? #59231MerlinMaître des clésce serait spawnPageFromTemplate qui bloquerait
Ca me parait bien.
Pour info il a fallu attendre la version XI (en 2013) pour que ce soit intégré à Adobe Reader (desktop), alors sur les logiciels mobiles… :priere: :priere: :priere:
:Smiley02:7 juillet 2015 à 10:17 en réponse à : Comment ajouter DES NOUVELLES PAGES à un endroit précis du document ? #59228MerlinMaître des clésJe suppose qu’il n’y a pas de solution pour cela ?
Gagné !
Hélas… :oh:
5 juillet 2015 à 08:54 en réponse à : Bouton fait avec InDesign pour aller à une page spécifique #59252MerlinMaître des clésLa bonne réponse vient souvent de l’abandon de la mauvaise question : :Smiley03:
Tu es typiquement dans la situation de celui qui va perdre des heures à bricoler avec des fonctions pas faites pour ça alors qu’en faisant les choses correctement il y en a pour 10 minutes à tout casser.
==> Fais une Table des Matières “normale”, au besoin utilises le (très puissant) Rechercher-remplacer de InDesign pour appliquer les styles, et génère un PDF interactif.
Commence par ce tuto : http://forums.mediabox.fr/wiki/tutoriaux/indesign/md10_avec_grepEnsuite il y en a plein d’autres ici : http://tv.adobe.com/fr/product/indesign/
:Smiley15:
MerlinMaître des clésAlex tu as complètement raison !
J’ai réparé cet oubli : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/:bonjour:
4 juillet 2015 à 08:09 en réponse à : Saisie dans un champs obligatoire où les obligations ne sont plus efficaces #59295MerlinMaître des clésObligatoire :
Exige que l’utilisateur remplisse le champ de formulaire sélectionné…… avant l’envoi par email ou vers un serveur (submit).
Sérieusement, tu ne comptes quand même pas empêcher un utilisateur de faire autre chose parce-qu’il n’a pas fini de remplir ton formulaire ?
:doute:MerlinMaître des clésAh, tu m’as fait peur.
Ouf !:geek:
MerlinMaître des clésQuelle version utilises tu ?
:Euuuh:3 juillet 2015 à 13:46 en réponse à : Saisie dans un champs obligatoire où les obligations ne sont plus efficaces #59293MerlinMaître des clésOui, autant l’envoi d’un formulaire par email requiert que tous les champs soient remplis, autant ce n’est pas nécessaire dans les autres cas.
On peut très bien finir de remplir plus tard, ailleurs ou même à la main après impression.:idee:
MerlinMaître des clésNul n’en doute.
“La pente est forte mais la route est droite” comme disait un ancien premier ministre rendu célèbre par ses rafarinades.
:Smiley03:MerlinMaître des clésBonjour.
S’il y a demande de mot de passe à l’ouverture de ce fichier ce n’est pas normal : a priori c’est que ce n’est pas Acrobat qui est utilisé mais Aperçu ou bien un navigateur web.
Assurez-vous que Acrobat soit bien le lecteur de PDF attitré, et non pas Aperçu comme par défaut.Sinon, depuis Acrobat utilisez la commande : menu Fichier : Ouvrir.
:idee:
MerlinMaître des clésIl faut lire les sujets en entier…
Mais effectivement, pour bien comprendre la différence entre les scripts d’objets et les scripts de document il faut d’abord lire ceci : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/
:Smiley15:MerlinMaître des clésBonjour.
Avec Acrobat ou Acrobat Reader : menu Fichier : Imprimer : Affiche.
:Smiley15:
3 juillet 2015 à 07:56 en réponse à : Saisie dans un champs obligatoire où les obligations ne sont plus efficaces #59290MerlinMaître des clésBonjour.
Heureusement qu’on naviguer sans remplir et fermer sans problème.
C’est le contraire qui serait pénalisant, vive la liberté.Seule la fonction “Submit” (Envoyer le formulaire) contrôle la saisie des champs obligatoires, parce-que dans tous les autres cas ça ne sert à rien.
:Smiley15:
MerlinMaître des clésBonjour et bienvenue.
La réponse courte est oui.
Pour la réponse longue il faudrait que tu détailles un peu plus ton projet.:Smiley15:
MerlinMaître des clésBonjour et bienvenue.
Sumatra est à Windows ce que Aperçu est à Mac OS : une mouise à éviter soigneusement.
Voir : http://abracadabrapdf.net/ressources-et-tutos/pdf-mac/lecteurs-pdf-mac/Dis toi bien que c’est la première fois que tu constates qu’il manque quelque chose mais que ça ne veut pas dire que c’est la première fois que ça t’arrives…
Parce-que forcément, il est très difficile de détecter ce qui manque, surtout quand il ne manque pas grand-chose.Foxit est un bon logiciel, cependant le seul logiciel gratuit qui respecte intégralement la norme ISO 32000 (alias PDF 1.7) est Adobe Acrobat Reader : http://get.adobe.com/fr/reader/
:Smiley15:
MerlinMaître des clésJe ne crois pas que Designer gère ni ne reconnaisse les calques…
Voir aussi cette page : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/acroforms-ou-xfa/
Où il faut bien faire attention à :
“Par-contre 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:
MerlinMaître des clésBonjour.
La réponse a déjà été donnée sur le forum, une recherche sur les termes “liste” “mere” “fille” apporte toutes les réponses.
Mais si tu “ne connais pas le JavaScript” j’ai bien peur que le jeu n’en vaille pas la chandelle…
MerlinMaître des clésBonjour.
Avec Acrobat : Propriétés du bouton : Options : Libellé
:idee:
2 juillet 2015 à 10:09 en réponse à : Bouton fait avec InDesign pour aller à une page spécifique #59250MerlinMaître des clésBonjour.
Je ne comprend pas, normalement quand on a fait la table des matières il n’y a pas besoin de créer d’hyperliens, c’est automatique. :doute:
Pourquoi veux tu créer un bouton ??? :Euuuh:
MerlinMaître des clésIl me semble bien que brumbies a déjà répondu : http://abracadabrapdf.net/forum/index.php/topic,2772.msg15391.html#msg15391
:Smiley01:
MerlinMaître des clésLe calendrier Prodok Date-picker est disponible en français mais il n’est pas gratuit.
:idee:MerlinMaître des clésBonjour.
Je n’en ai aucune idée, je ne sais pas si Foxit supporte les scripts d’application, voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/
:joker:
29 juin 2015 à 09:31 en réponse à : Programmation afficher/masquer plusieurs calques de façon rapide #57989MerlinMaître des clésMerlin, je suppose que ta mise en garde concerne l’édition d’une partie du formulaire sur InDesign.
Exactement.
Il y en a déjà quelques uns qui ont été surpris par ce comportement (logique mais qui devrait pouvoir être évité).
Comme en général c’est une mauvaise surprise je préfère avertir avant.:Smiley01:
MerlinMaître des clésBonjour.
Pour bien faire il faudrait un script utilisant une boucle : for (blablabla)
Je ne sais pas vraiment faire mais un membre plus compétent que moi va certainement lire ce sujet…
:joker:26 juin 2015 à 13:39 en réponse à : Programmation afficher/masquer plusieurs calques de façon rapide #57986MerlinMaître des clésromain10 : je vois que ton document provient d’InDesign alors je te met en garde contre un secret bien gardé :
dans InDesign chaque champ de formulaire est forcément affecté à un calque et un seul, comme tous les objets.
Par-contre dans le format PDF et dans Acrobat les champs de formulaires sont flottants et indépendants des calques.*
Il faut le savoir…:mur: :Smiley15:
* On peut avoir l’impression contraire au début quand on ouvre le PDF dans Acrobat, curieusement parfois les champs de formulaire restent attachés à leur calque d’origine… Jusqu’à ce qu’on y touche… Et après c’est fichu.
MerlinMaître des clésTu as le choix entre :
– placer par-dessus un champ de formulaire à fond blanc pour servir de cache,
– supprimer le texte de la page, et remplacer par un champ de formulaire qui s’affichera en fonction.
Dans les deux cas il vaudra mieux placer le déclencheur dans la liste déroulante.
MerlinMaître des clésN’oublie pas que le pop-up menu JavaScript doit être placé en Action : Souris Enfoncée.
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/:idee:
MerlinMaître des clésPour des raisons de sécurité, avec JavaScript dès que l’on veut sortir du document il faut montrer patte blanche à chaque porte et à chaque étage et cela devient vite très compliqué.
C’est typiquement le cas de figure où il vaut mieux utiliser les fonctions de scriptage du système.
(Mac OS ou Windows ?)MerlinMaître des clésBonjour.
Si tu arrives à saisir un nom en moins de 2 secondes, au final ça te prendra environ 3 minutes. Ce n’est pas la mer à boire…
:jerisjaune:Dans un tel cas j’utilise un “pop-up menu” en JavaScript plutôt qu’une “Liste déroulante”.
Avec le rechercher-remplacer je place “,” entre chaque item de façon à obtenir :Code:Riri”,”Fifi”,”Loulou”,”Donald”,”Daisy”,”PicsouQu’ensuite je place dans le script qui va bien :
Code:var monMenu = app.popUpMenu(“Riri”,”Fifi”,”Loulou”,”Donald”,”Daisy”,”Picsou”);
if (monMenu!=null) {event.target.value = monMenu;}Et le tour est joué.
On passe de 3 minutes environ à 3 secondes environ : quel gain de temps ! :extra:On peut aussi remplir programmatiquement des champs de type “Liste déroulante” mais je ne sais pas faire.
:Smiley15:MerlinMaître des clésConcernant le choix d’un calendrier dans Acrobat, tout est là : http://abracadabrapdf.net/forum/index.php/topic,2133.msg10853.html
:Smiley15:MerlinMaître des clésBonjour et bienvenue.
J’imagine que si tu veux afficher la date de modification c’est parce-que l’info doit être dynamique.
Auquel cas pour obtenir cette info il faut :
– que le PDF B soit en pièce jointe, incorporé dans le PDF A.
– que tous les PDF B soient ouverts “silencieusement” et régulièrement par un script qui ramène cette info dans les champs du PDF A.
:Smiley15:
MerlinMaître des clésBonjour.
En fait LiveCycle Designer est une pièce rapportée, à l’origine il était développé par une société indépendante, que Adobe a racheté.
Toutes les explications se trouvent ici : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/acroforms-ou-xfa/
Puisqu’on est dans les confidences, il semblerait que LiveCycle Designer soit en fin de vie…
En tout cas, à part quelques mises-à-jour techniques, il ne devrait plus vraiment évoluer.
:idee:MerlinMaître des clésBonjour.
Un exemple ou une maquette serait bienvenu…
:Euuuh:MerlinMaître des clésBonjour et bienvenue.
Question rituelle en pareil cas : sachant qu’un PDF s’adapte à toutes les tailles d’écran et de papier, quel intérêt y a t’il à le réduire ?
:idee:MerlinMaître des clésIl n’y a pas besoin de calculer la différence, une fois le nombre epoch calculé l’opérateur “supérieur à”, ou l’inverse, suffit à donner la réponse. :idee:
Pourquoi ne pas faire comme indiqué dans ce sujet ? : http://abracadabrapdf.net/forum/index.php/topic,2662.msg14500.html
:doute:MerlinMaître des clésBonjour.
Fais une recherche sur “epoch” et sur “date”, le forum devrait te révéler plein de choses intéressantes.
:Smiley15:MerlinMaître des clés:bonjour:
MerlinMaître des clés:Ooops: dsl mais il est vrai que je ne me suis pas encore penché sur LiveCycle Designer…
Je crois qu’il va connaitre le même sort que Director : toujours disponible mais sans évolution prévue.
:idee:MerlinMaître des clésToutes les façons (RVB, CMJN…) d’exprimer les couleurs sont détaillées dans le document AcrobatDC_js_api_reference.pdf qui se trouve ici : http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/acrobat/downloads/Acrobat_DC_SDK_Documentation.zip
Il faut chercher “Color arrays” dans ce document.
:idee:
MerlinMaître des clésExiste-t-il une solution pour contourner le problème ?
A part croiser les doigts en attendant la prochaine mise-à-jour d’Acrobat DC ou de PDF Expert, je n’ai rien d’autre à proposer.
:joker:MerlinMaître des clésEn fait ça doit fonctionner chez toi aussi, mais quand on change la valeur d’un item dans une liste déroulante la valeur n’est pas validée instantanément, il faut activer un autre menu pour que ça le fasse.
Je t’accorde que c’est un fonctionnement un peu déconcertant mais je ne vois pas le moyen de forcer encore plus la validation immédiate d’une saisie utilisateur dans la mesure où la case correspondante est déjà cochée dans Propriétés : Options.
:joker:
MerlinMaître des clésEn fait c’est la dernière version d’Acrobat.
Avec Acrobat DC il y juste à cliquer sur “Modifier le fichier PDF” dans le panneau d’outils, le reste est automatique.
Sinon ton document est là : http://we.tl/qMEFJdtFsl
:Smiley01:MerlinMaître des clés1 Comment je fais pour t’envoyer un fichier ?
http://abracadabrapdf.net/forum/index.php/topic,2475.0.html
2 je ne connais pas Acrobat DC, il est aussi cher que Acrobat PRO XI, fait il la même chose que Acrobat XI ?
http://abracadabrapdf.net/ressources-et-tutos/acrobat-reader/acrobat-dc-nouveautes/
&
http://abracadabrapdf.net/ressources-et-tutos/acrobat-reader/acrobat-dc-nouvelle-version-nouvel-essor/MerlinMaître des clésC’est effectivement un vrai problème…
Comme d’après ta capture tu n’as pas Acrobat DC je te propose de m’envoyer ce document pour que je te le convertisse en PDF modifiable.
Ca devrait me prendre environ 30-35 secondes.:idee:
MerlinMaître des clésBonjour.
La bonne réponse vient de l’abandon de la mauvaise question (et de l’oubli du contenu de certaines boites d’alertes qui feraient parfois mieux de ne pas exister).
Si Acrobat dit ça c’est parce-que ce document est en fait une image qui ne contient rien d’autre que des pixels.
Donc plutôt que de casser le vase et de le réparer avec de la colle il faut essayer de ne pas le casser du tout, parce-qu’au final entre un vase intact et un vase recollé il y a une sacrée différence.En clair : reprend ton document original dans le logiciel auteur (Excel ?) et exporte le en PDF “normal”, c’est-à-dire contenant du texte et des éléments vectoriels, et le problème ne se posera plus.
:Smiley15:
MerlinMaître des clésà moins que j’ai mal inséré le script.
Oui, il faut supprimer le texte par défaut avant de coller le script, comme sur la capture jointe.
:Smiley15:MerlinMaître des clésDans 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.
Pourquoi n’utilises tu pas le fichier doc-test-formulaire-concatenation-okv6.pdf que j’ai fourni ci-dessus et qui fonctionne très bien ?
Le script de ton document n’est pas le même.
:Euuuh: :idee:22 juin 2015 à 09:42 en réponse à : Comment faire apparaitre des calques par sélection dans une liste déroulante ? #58842MerlinMaître des cléspour gérer les claques
Gérer des claques est une activité de malfrat.
J’ai corrigé.:Smiley08:
Pour les non-francophones et les québécois : en argot “claque” = bordel, maison de passe, maison close, etc.
MerlinMaître des clésBonjour.
La couleur de fond d’un champ est celle qu’on affecte via le panneau des Propriétés : Apparence.
La couleur violette que tu vois est “virtuelle” : il s’agit de la couleur de mise en surbrillance des champs.La mise en surbrillance des champs est automatique sauf si :
– on la désactive dans les Préférences : Formulaire : Couleur de surbrillance (on peut aussi changer de couleur).
– on la désactive pour un document donné via un script (de document*) qui s’exécute à l’ouverture : app.runtimeHighlight = false;
:Smiley15:
MerlinMaître des clésJe 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: .
Quelques petits changements dans la formule magique et on n’y pense plus.
:Smiley15:Code:// initialisation des variables
if (this.getField(“arbres”).value == “”) {this.getField(“arbres”).value = ” “;}
if (this.getField(“arbres”).value != ” “)
{var ChampArbres = this.getField(“arbres”).value + “r”;}
else {var ChampArbres = “”;}
//
if (this.getField(“fleurs”).value == “”) {this.getField(“fleurs”).value = ” “;}
if (this.getField(“fleurs”).value != ” “)
{var ChampFleurs = this.getField(“fleurs”).value + “r”;}
else {var ChampFleurs = “”;}
//
if (this.getField(“couleurs”).value == “”) {this.getField(“couleurs”).value = ” “;}
if (this.getField(“couleurs”).value != ” “)
{var ChampCouleurs = this.getField(“couleurs”).value + “r”;}
else {var ChampCouleurs = “”;}
//
// concaténation dans le champ d’accueil
this.getField(“Text1”).value = ChampArbres + ChampFleurs + ChampCouleurs;MerlinMaître des clésSi j’ajoute le fichier “Abracadabra_Menu deroulant_Liste mere fille”
Où trouve t’on ce document ?
MerlinMaître des clés:joker:
MerlinMaître des clésPS : 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) ?
Il serait plus simple de laisser vide et de détecter “espace” ou “vide”, en modifiant les conditions “if” :
Code:// initialisation des variables
if (this.getField(“arbres”).value != ” ” || this.getField(“arbres”).value != “”)
{var ChampArbres = this.getField(“arbres”).value + “r”;}
else {var ChampArbres = “”;}
//
if (this.getField(“fleurs”).value != ” ” || this.getField(“fleurs”).value != “”)
{var ChampFleurs = this.getField(“fleurs”).value + “r”;}
else {var ChampFleurs = “”;}
//
if (this.getField(“couleurs”).value != ” ” || this.getField(“couleurs”).value != “”)
{var ChampCouleurs = this.getField(“couleurs”).value + “r”;}
else {var ChampCouleurs = “”;}
//
// concaténation dans le champ d’accueil
this.getField(“Text1”).value = ChampArbres + ChampFleurs + ChampCouleurs;:Smiley01:
MerlinMaître des clésJe ne connais pas de formation en vidéo bien adaptée, à part celles de Thom Parker : http://www.pdfscripting.com/
Son Livre All About Stamps in Acrobat® and Paperless Workflows est LA référence en matière de tampons dynamiques.
Ses ressources et tutos gratuits valent le détour : http://www.pdfscripting.com/public/Free-Content.cfm
Sans oublier tout ce qu’il propose sur le site de sa société (beaucoup de gratuit) : http://www.windjack.com/resources/rsc_javascript.shtmlIl y a aussi les œuvres de John Deuber, à commencer par Beginning JavaScript for Adobe Acrobat : http://www.acumentraining.com/QEDGuides/index.html
Et aussi ses ressources gratuites : http://www.acumentraining.com/resources.html
Sans oublier son Acumen journal : http://www.acumentraining.com/acumenjournal.htmlPar-contre Elephorm etc. proposent d’excellentes vidéo-formations à l’anglais…
:Smiley03:MerlinMaître des clés:bonjour:
MerlinMaître des clésY a t’il une “Zone de liste” ou une “Liste déroulante” parmi les champs à tester ?
MerlinMaître des clésJuste avant la dernière parenthèse tu ajoutes :
Code:app.alert(“Texte de l’alerte”);MerlinMaître des clésMais comment acrobat considère-t-il un champ vide ?
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.C’est effectivement le seul moyen pour les listes déroulantes.
Depuis le début je pensais “champ texte”, qui peuvent être vraiment vides.Mais avec cette solution le champ semble vide mais il ne l’est pas
Oui, vider l’intitulé d’une liste de modifie pas (forcément) sa valeur.
Le mieux est d’interdire la saisie utilisateur et de prévoir un intitulé vide.Exemple ci-joint.
Code:// initialisation des variables
if (this.getField(“arbres”).value != ” “)
{var ChampArbres = this.getField(“arbres”).value + “r”;}
else {var ChampArbres = “”;}
//
if (this.getField(“fleurs”).value != ” “)
{var ChampFleurs = this.getField(“fleurs”).value + “r”;}
else {var ChampFleurs = “”;}
//
if (this.getField(“couleurs”).value != ” “)
{var ChampCouleurs = this.getField(“couleurs”).value + “r”;}
else {var ChampCouleurs = “”;}
//
// concaténation dans le champ d’accueil
this.getField(“Text1”).value = ChampArbres + ChampFleurs + ChampCouleurs;MerlinMaître des clésOui c’est possible. Pas de souci.
Mais pour éviter de partir dans tous les sens il me faut d’abord bien comprendre ce que tu veux faire :Pourquoi ne pas placer ce script de vérification directement sur le bouton “Submit” ?
Est-ce choix délibéré ou est-ce un choix obligé parce-que tu ne sais pas faire autrement ?
:doute:MerlinMaître des clésBonjour et bienvenue.
Il faudra d’abord savoir ce qui déclenche ce script.
Un événement utilisateur (clic) ou bien une validation, un calcul, etc. ?MerlinMaître des clésA partir de là, soit tu fais passer un exemple de ton document soit on joue aux devinettes…
:Smiley15:MerlinMaître des clésA 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
C’est l’ordre dans lequel on les place avec le script (dernière ligne) qui détermine leur position 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
C’est simple, au lieu d’ajouter les sauts de ligne en dur dans le script, on ne les ajoute à la valeur du champ que si celui-ci contient une valeur.
Ainsi un champ vide = pas de ligne du tout.Par exemple :
Code:// initialisation des variables
if (this.getField(“arbres”).value != null || this.getField(“arbres”).value != “”)
{var ChampArbres = this.getField(“arbres”).value + “r”;}
else {var ChampArbres = “”;}
//
if (this.getField(“fleurs”).value != null || this.getField(“arbres”).value != “”)
{var ChampFleurs = this.getField(“fleurs”).value + “r”;}
else {var ChampFleurs = “”;}
//
// concaténation dans le champ d’accueil
this.getField(“Text1”).value = ChampArbres + ChampFleurs;PS : ce n’est pas une bonne idée d’utiliser les mêmes noms pour des champs, des variables, etc.
MerlinMaître des clésOuvre ton document de travail, dans ce document de travail tu importes le document d’exemple qui contient les scripts de document (panneau Pages : Importer des pages).
Et ensuite tu supprimes immédiatement les pages importées.Résultat : tous les scripts de document ont été transférés (intacts) dans ton document de travail !
:extra:MerlinMaître des clésBonjour.
C’est parce-que tu ne copies que la partie émergée de l’iceberg.
L’essentiel des scripts est placé en “Script de document”, voir chapitre 3 sur cette page : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/:idee:
MerlinMaître des clésRien ne s’ajoute dans mon champ texte.
Forcément, si tu changes le nom des variables au début et pas à la fin… :tutut:
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.
A quoi sert il que je commente les scripts ? :Smiley03:
// antislash-r sert à sauter une ligneJe joins le fichier si ça peut être utile.
Ci-joint la preuve que oui. :geek:
Code:// initialisation des variables
var arbres=this.getField(“arbres”).value;
var fleurs=this.getField(“fleurs”).value;
// concaténation dans le champ d’accueil
// antislash-r sert à sauter une ligne
this.getField(“Text1”).value = arbres + “r” + fleurs;MerlinMaître des clés:bonjour:
16 juin 2015 à 12:20 en réponse à : Comment faire apparaitre le tiret du 8 dans un champs texte #59155MerlinMaître des clésLe bon vieux coup du redémarrage !
:geek: :Smiley03:
16 juin 2015 à 10:43 en réponse à : Comment faire apparaitre le tiret du 8 dans un champs texte #59153MerlinMaître des clésComment faire, puisque cette touche est inopérante dans un pdf.
C’est bien la première fois que j’entend parler d’un truc pareil… :doute:
Je commencerais par vérifier s’il n’y a pas un “format” ou une “validation” appliqué au champ et qui empêcherait la saisie de certains caractères.
Ensuite je vérifierai dans un autre formulaire…16 juin 2015 à 09:27 en réponse à : Comment faire apparaitre le tiret du 8 dans un champs texte #59151MerlinMaître des clésMais quelle est la question ?
Comment saisir un tiret-bas dans un champ de texte ?
:Euuuh:15 juin 2015 à 22:03 en réponse à : Comment faire apparaitre le tiret du 8 dans un champs texte #59149MerlinMaître des clésBonjour.
Moi sous le 8 j’ai un point d’exclamation.
Tout le monde n’a pas le même clavier… :Euuuh:Tiret/trait d’union ou bien tiret bas ?
MerlinMaître des clésDans les options du format nombre on peut demander à ce que les chiffres négatifs s’affichent en rouge ou avec des parenthèses ou bien les deux.
:idee:MerlinMaître des clésJe suppose que le code doit venir dans le champ sensé récupérer la concaténation
Oui.
dans quelle partie des options dois-je le mettre : format, validation ou calcul ?
Réponse longue : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/
Réponse courte : Calcul
:Smiley15:
14 juin 2015 à 22:53 en réponse à : Bouton envoi d’un email avec adresse mail par défaut (Adobe Reader) #59058MerlinMaître des clésMoi non plus je n’y connais rien en PHP.
Je m’en étais tiré grâce à ce super tuto bien caché : http://tv.adobe.com/watch/acrobat-community-tv/working-with-form-data/
Il faut passer les 10 premières minutes et attendre le 2e intervenant (Dave Merchant).
C’est de là que je tiens le script PHP ci-dessus.Sinon il y a cette solution freemium : http://formtoemail.com/plans.php
MerlinMaître des clésEst-ce que la concaténation est gérée sur iOS ?
Aucune idée.
:joker:Mais on compte sur toi pour la réponse. :Smiley03:
MerlinMaître des clésTu as de la chance, je viens de recroiser ça par hasard :
Ce script concatène les valeurs de plusieurs champs dans un seul.
Les noms en capitales et entre guillemets doivent être remplacés par les noms des champs texte qui contiennent les valeurs (ne pas supprimer les guillemets).Code:// initialisation des variables
var nom=this.getField(“NOM”);
var prenom=this.getField(“PRENOM”);
var adress=this.getField(“RUE”);
var CP=this.getField(“CODEPOSTAL”);
var comune=this.getField(“COMMUNE”);
var adressFinale=this.getField(“ADRESSE-COMPLÈTE”);
// vérifie si les champs sont vides (facultatif)
if (nom.value == “”)
{
app.beep(0);
app.alert(“Le champ «nom» est vide!”);
}
else if (adress.value == “”)
{
app.beep(0);
app.alert(“Le champ «adresse» est vide!”);
}
else if (CP.value == “”)
{
app.beep(0);
app.alert(“Le champ «code postal» est vide!”);
}
else if (comune.value == “”)
{
app.beep(0);
app.alert(“Le champ «commune» 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;:Smiley15:
MerlinMaître des clésJe 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…Adobe Reader Mobile n’existe plus, il a été remplacé par Acrobat DC (pour mobile).
==> Mise-à-jour.Adobe est très soucieux de sécurité, contrairement à Apple (iOS) et Google (Android) :
– les fonctions JavaScripts qui peuvent être exploitées via le système ou celles qui peuvent exploiter le système ne sont pas implémentées.
– les fonctions JavaScripts sont implémentées au compte-goutte après avoir été soigneusement testées sur les deux OS.
– Adobe veut pouvoir proposer le même logiciel sur Android et iOS : ce qui ne fonctionne pas sur l’un n’est pas implémenté sur l’autre.Tous les éditeurs ne peuvent pas en dire autant, mais tous n’ont pas la même clientèle ni le même modèle économique.
Peut-être qu’une autre solution serrait de concaténer les différentes sélection de listes dans un champ texte ?
Recherche “concaténation” dans le forum.
:Smiley03:14 juin 2015 à 08:49 en réponse à : Bouton envoi d’un email avec adresse mail par défaut (Adobe Reader) #59056MerlinMaître des clésJe ne vois pas de faille de sécurité en cela, le fait d’envoyer un mail.
Ce n’est pas l’envoi d’un email qui est potentiellement dangereux.
Ce qui serait dangereux c’est de laisser n’importe qui bricoler les paramètres de messagerie “silencieusement” via des scripts.
Ce serait la porte ouverte aux hackers et aux zombies.
:tutut:La solution Webdav est possible aussi, c’est moins simple à mettre en œuvre que le script PHP mais ça fonctionne bien aussi.
-
AuteurRéponses