Toutes mes réponses sur les forums
-
AuteurRéponses
-
20 juillet 2016 à 17:16 en réponse à : Afficher/Masquer Champs Texte selon choix menu déroulant #61037MerlinMaître des clés
Bonjour et bienvenue.
Il doit y avoir une erreur, le PDF joint ne contient aucun champ… :joker:
MerlinMaître des clésquand je modifie le premier calendrier en français les suivants sont aussi en français
Il est bien possible que Jim ait localisé son calendrier depuis (c’était il y a au moins 5 ans… )
Je n’ai certainement pas été le seul à lui demander de le traduire.MerlinMaître des clésBonjour.
Quand on utilise la fonction spawnPageFromtemplate il n’y a que deux choix : renommer les champs ou non.
Mais ça s’applique forcément à tous les champs, il n’y a pas moyen de faire le détail.Ton idée est bonne mais il faudrait modifier tous les scripts du calendrier en fonction de ça…
J’avais proposé à Jim, l’auteur, de franciser son FormRouter Calendar. Il m’avait laissé le champ libre en me disant que je n’y arriverai jamais parce-que son code était trop touffu.
Et il avait raison… Je n’ai jamais réussi. :mur:Sinon, il y a de l’espoir par ailleurs.
Je suis justement en train de finaliser un calendrier qui n’utilise pas de champs, rien que du JavaScript, et qui sera donc complètement insensible à ce problème.Sortie prévue d’ici la fin de l’été…
Aller, un petit teaser pour faire patienter : :contentdance:
14 juillet 2016 à 23:54 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60925MerlinMaître des clésMerci.
Par exemple pour compter les points donnés dans une série de questions-réponses sous forme de cases à cocher.
On nomme les cases :
case.0
case.1
case.2
etc.Chaque case contient sa propre valeur (0, 1, 2, 3, 4 ou 5) dans Propriétés : Option : Valeur d’exportation.
Le champ qui fait le total n’a pas besoin de JavaScript ni de notation simplifiée : il suffit d’utiliser la fonction Calcul : Faire la somme du champ “case”.
Qu’il y ait 5 ou 500 questions c’est aussi simple à gérer.
14 juillet 2016 à 23:44 en réponse à : Convertir PDF contenant plusieurs pages en plusieurs PDF #61014MerlinMaître des clésBonjour et bienvenue.
Si cette fonction ne se trouve pas nativement dans Acrobat 7 (je ne m’en souviens plus…) elle devrait se trouver dans l’utilitaire gratuit abracadabraTools 3.1 pour Acrobat 7, 8 et 9 :
http://abracadabrapdf.net/utilitaires/acrobat-plugins/abracadabratools/Par ailleurs il faudrait penser à faire les mises-à-jour en 7.x, ça corrige pas mal de bugs.
13 juillet 2016 à 10:10 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60923MerlinMaître des clésOn a toujours intérêt à structurer les champs en utilisant la Convention de dénomination des champs de formulaire, ça facilite tous les appels JavaScript car ça permet de ne s’adresser qu’au seul champ “parent” pour appliquer des instructions ou des calculs.
==> http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/1. Il faut tester le contenu de chaque champ (non égal à rien) et modifier la propriété readonly en fonction du résultat.
2. Il faut tester la propriété readonly de chaque champ avant d’éventuellement utiliser resetForm
3. Quel logiciel ne tient pas compte du verrouillage ? Acrobat ou un autre ?
Pour 1 et 2 il faut utiliser une boucle for {…} pour tester chaque champ, malheureusement ce n’est pas mon fort et j’espère qu’un autre membre saura mieux t’aider. :joker:
12 juillet 2016 à 10:47 en réponse à : Je rêve d’une interface qui s’adapte à ma souris ou mes doigts. #61012MerlinMaître des clésBonjour.
Tu en avais rêvé, Adobe l’a fait (également valable pour Acrobat Reader) :
11 juillet 2016 à 14:49 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60921MerlinMaître des clésTrop de questions et trop de réponses (trop) longues… :geek: :joker:
Et, au vu du formulaire, un certain nombre de choses à reprendre à la base.Il faudrait que tu commences par cette formation gratuite, chapitre “Formulaires” : http://www.elephorm.com/infographie-pao/formation-acrobat/apprendre-acrobat-8-professional.html
Normalement la formation sur Acrobat 9 devrait aussi être gratuite, dans celle-là aussi ce qui concerne les champs de formulaire est bien détaillé : http://www.elephorm.com/infographie-pao/formation-acrobat/apprendre-acrobat-9-les-nouveautes.html
Seule l’interface a un peu changé depuis, les fonctions sont toujours les mêmes.
Concernant ton formulaire, les deux alertes à l’ouverture sont obsolètes (ou devraient être conditionnées à la version utilisée) car depuis sa version X (10) Adobe Acrobat Reader peut enregistrer n’importe quel formulaire PDF.
:Smiley15:MerlinMaître des clésJe suis content d’avoir réussi à t’amener à ce point de réflexion et que tu ais compris qu’il va maintenant falloir y amener le client final.
Si on fait pas ce genre de chose habituellement c’est parce-que c’est un casse-tête et que toute “solution” sera forcément un jour prise en défaut par un cas d’utilisation un peu particulier.
Un simple exemple avec le champ NOM.
Faut-il autoriser les chiffres ? (Oui s’il peut potentiellement y avoir des noms de sociétés ou d’assos).
Quid si l’utilisateur ne saisit que des chiffres ?À partir de combien de caractères le champ est-il considéré comme rempli ?
(Attention au Docteur No et à M. X, dont les noms contiennent respectivement 2 et 1 seule lettre…)Etc.
C’est pourquoi en règle générale on utilise la propriété “obligatoire” des champs, et basta. :Smiley15:
MerlinMaître des clésUn script ne peut pas se contenter de ce genre de réponse, il va falloir être plus précis : nombre de caractères ?, lettres ?, chiffres ?, les deux ?, etc.
MerlinMaître des clésOK mais
comment considère-t-on qu’il est rempli ou non ?
Parce-qu’à part les champs code postal et n° de téléphone, le contenu des champs est difficilement prédictible.
MerlinMaître des clésBen… avant de pouvoir scripter quoi que soit il faut commencer par savoir à partir de quand on considère que le champ suivant doit apparaître.
Au clic dans le premier champ ?
Quand le premier champ est désactivé ?
Quand le premier champ est désactivé mais seulement s’il est rempli ?
Si oui, comment considère-t-on qu’il est rempli ou non ?
Etc.MerlinMaître des clésJ’ai trouvé le problème concernant l’impossibilité de mettre une fourchette.
Il faut que le champ soit au format Nombre.
Par contre après test de ton script qui fonctionne bien, il y a un petit bug, quand le total est 100, il y a quand même le message d’erreur qui apparait…
Remplace :
if (event.value >= 100) { // supérieur ou égal à 100
Par :
if (event.value > 100) { // supérieur à 1007 juillet 2016 à 15:15 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60919MerlinMaître des clésil n’y a pas l’option « invisible à l’écran, invisible à l’impression »
:Smiley08:
Comme il n’y a que deux cas possibles pour chaque support c’est l’option “Invisible à l’écran“. :soleil:
MerlinMaître des clésEn partant sur cette option (l’utilisateur n’efface rien une fois rempli) qu’elle est ta solution ?
Je n’en ai pas eu besoin jusqu’ici et ce n’est pas quelque chose que j’aimerais faire.
Je suis pour les “aides” à la saisie dans les formulaires, pas pour les “contraintes” à la saisie.
:joker:MerlinMaître des cléssi le 1er tableau est rempli, le deuxième ne peut pas l’être et vice versa.
Il faut 2 boutons-radio et 2 grands champs de texte à fond blanc et en lecture seule.
Ces 2 grands champs servent de masque placé par-dessus chaque tableau, et chaque bouton-radio effectue deux actions Afficher-masquer un champ pour faire apparaitre un masque et masquer l’autre, et vice-versa.Pour placer ces champs “masque” en premier-plan ça se joue dans le panneau des champs de l’Editeur de formulaire : le dernier champ dans la liste est en premier-plan, et le premier dans la liste est en arrière-plan.
Il suffit de cliquer-glisser.MerlinMaître des clésDans un tableau de 4 lignes composées de 4 champs (nom, prénom, date de naissance, adresse), l’utilisateur devra obligatoirement remplir la ligne 1 pour pouvoir remplir la ligne 2 puis la ligne 3 et pour finir la ligne 4.
Le plus simple est de rendre ces quatre champs obligatoires.
Parce-que ce que tu décris est relativement simple à scripter, mais les difficultés commencent juste après : quel comportement si après tout rempli l’utilisateur efface le 1er champ ? Ou le 2e ? Etc.MerlinMaître des clésBonjour et bienvenue.
Il n’y a pas forcément besoin de JavaScript : dans les Propriétés : Validation du champ qui fait le calcul il faut demander une validation entre zéro (par exemple) et 100.
Si le total du calcul dépasse Acrobat (Reader ou Pro) alertera l’utilisateur.Par-contre JavaScript est indispensable si on veut personnaliser le message d’alerte. Il faut placer un script de ce genre (non testé) en Script de validation personnalisé :
if (event.value >= 100) {
app.alert(“MESSAGE D’ALERTE“);
this.resetForm(event.target); // optionnel, c’est pour vider la valeur calculée
}.
7 juillet 2016 à 13:50 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60917MerlinMaître des clésEst-il possible d’avoir le champ, Mail4, « Invisible à l’écran et invisible à l’impression » ?
Oui, s’il est pré-rempli (valeur par défaut), parce-que l’utilisateur ne pourra pas le faire.
Mais j’imagine que c’est le but. :Smiley03:7 juillet 2016 à 13:48 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60916MerlinMaître des clésCela fonctionne, mais est-ce que mon code est correct ?
A priori oui si ça fonctionne… :geek:
Sinon, tu peux déjà supprimer ce qui est en rouge :
var em1 = “”;
var em1 = this.getField(“mail4”).value;
if(this.getField(“Txt7”).value == “” || this.getField(“Txt8”).value == “”)
{
app.alert({cMsg: “Veuillez rempliretous les champs pour pouvoir envoyer l’e-mail.”, cTitle: “Remplir les champs”, nIcon: 0});
}
else
{
if (em1 != “”)
{
mailDoc(true,em1, “”, “”, “Formulaire”, “Bonjour,rVeuillez trouver ci-joint mon documentnnMeilleures salutations”);
}
else
{
}
}MerlinMaître des clésen fait le prix est dégressif et multiplier la quantité par 80 ne correspond donc pas totalement au résultat que je souhaiterais avoir
Il faudrait connaitre ces prix, ou bien la règle de dégressivité.
MerlinMaître des clésEt j’ai également un autres soucis c’est que la personne qui remplie le formulaire doit en faite choisir entre les 3 boutons, à récupérer (qui n’ajoute pas de frais), à livrer (+15e) et à livrer en anonymes (+15e également) or si je comprend bien dans votre réponse il faut que à livrer et à livrer en anonymes soit tous les deux cocher pour ajouter les 15 euros. Je ne me trompe pas ?
Auquel cas il faut remplacer :
if (this.getField(“Aexpedier”).value != “Off” && this.getField(“Livraisonanonyme”).value != “Off”) {
par :
if (this.getField(“Aexpedier”).value != “Off” || this.getField(“Livraisonanonyme”).value != “Off”) {
MerlinMaître des clésBonjour et bienvenue.
Utiliser des conditions à la place d’un calcul est rarement avantageux, j’utiliserais plutôt un script de ce genre (non testé), placé en script de calcul personnalisé dans le champ prixrollup.
Il faudra aussi s’assurer que le champ quantiterollup soit bien au format Nombre pour prévenir toute erreur NaN (Not a Number).Par ailleurs il faudrait peut-être utiliser des cases-à-cocher (décochables, plusieurs choix possibles) plutôt que des boutons-radio (un seul choix possible et non-décochables par l’utilisateur).
Code:// mise en variable de la valeur du champ
var nQuantite = this.getField(“quantiterollup”).value;
// condition : si les 2 boutons sont cochés
if (this.getField(“Aexpedier”).value != “Off” && this.getField(“Livraisonanonyme”).value != “Off”) {
// calcul de base
event.target.value = 80 * nQuantite;
}
// sinon (si un seul ou zéro bouton est coché)
else {
// calcul de base plus quinze
event.target.value = (80 * nQuantite) + 15;
}MerlinMaître des clésEn fait j’ai mis le signe égal entre les différentes expressions mais il faudrait plutôt mettre une équivalence, car parfois ça n’est pas tout à fait exactement la même chose.
Un peu comme entre le zéro et rien : des fois c’est pareil mais des fois ça change tout, ça dépend si on fait des additions ou des moyennes…
:Smiley03:MerlinMaître des clésBonjour.
Oui, il faut exporter les données recueillies vers un logiciel capable d’un tel traitement.
MerlinMaître des clés1) Y a-t-il une “meilleure” solution pour limiter les caractères entre celle que j’ai utilisée (regex) et celle que tu as proposée (caractères ascii) ?
C’est pareil, la différence c’est que les Regex ne sont possible que depuis la version 6 ou 7 d’Acrobat (de mémoire…), alors que l’Ascii fonctionne depuis toujours.
Mais aujourd’hui ça n’est plus un vrai problème.2) Je ne comprends pas la différence entre :
if (event.willCommit==false)
et
if (!event.willCommit)
A un point d’exclamation près, j’y étais presque…C’est pareil, il n’y a pas de différence : c’est le point d’exclamation qui fait tout le boulot.
Placé devant, il inverse la proposition qui suit.
Donc :if (event.willCommit) = if (event.willCommit == true) = if (!event.willCommit == false) = si l’évènement utilisateur a lieu.
if (!event.willCommit) = if (event.willCommit == false) = if (event.willCommit != true) = si l’évènement utilisateur n’a pas lieu (champ désactivé sans qu’il n’y ait ni saisie ni clic).
if (this.getField(“CHAMP”).readonly”) = if (this.getField(“CHAMP”).readonly” == true) = si le champ est visible.
if (!this.getField(“CHAMP”).readonly”) = if (this.getField(“CHAMP”).readonly” == false) = si le champ n’est pas visible.Avec les valeurs boléennes c’est facile, et avec d’autres ça peut être très pratique : pour les cases-à-cocher (ou les boutons-radio), par exemple, dont la seule valeur certaine et connue est celle qui est renvoyé quand elle n’est pas cochée : Off
if (this.getField(“casAcocher”) == “Off”)
ou
if (this.getField(“casAcocher”) != “Off”)est plus simple que de tester toutes les valeurs possibles (s’il y a plusieurs cases ou boutons).
MerlinMaître des clésBonjour.
Le problème ce ne sont pas les fonctions (que tu comprends certainement très bien), c’est leur enchainement : le script qui contrôle la saisie devrait agir avant, pour interdire la saisie au lieu de la contrôler a posteriori.
C’est-à-dire qu’il faudrait le placer en script de touches perso.Par-exemple pour n’autoriser QUE la saisie de chiffres* j’utilise ce script en script de touches perso :
Code:if(!event.willCommit) {
if(event.change.charCodeAt(0)>57|event.change.charCodeAt(0)<48)
{
app.beep(0);
event.rc=false;
}
}L’ordre d’exécution des évènements est expliqué sur cette page (avec un schéma qui-vaut-mieux-qu’un-long-discours) :
* Si on regarde bien le shéma on voit que l’utilisation du format Nombre proposé par Acrobat ne revient pas au même…
MerlinMaître des clésSinon il y a aussi l’utilitaire gratuit abracadabraTools et sa fonction Redimensionner des pages, l’avantage c’est qu’on sort pas d’Acrobat :
http://abracadabrapdf.net/utilitaires/acrobat-plugins/abracadabratools/MerlinMaître des clésBonjour et bienvenue.
Je ne vois que trois solutions possibles :
– revenir à une version antérieure d’Acrobat (9),
– augmenter la résolution de l’écran dans les paramètres de Windows,
– changer d’écran, pour un plus grand.
Sinon, l’outil de recadrage est accessible via le raccourci “C” (comme Crop) après avoir activé Préférences : Générales : Utiliser des touches uniques pour accéder aux outils
MerlinMaître des clés:bonjour:
MerlinMaître des clésExcusez-moi pour les Français
Nessun problema.
:Smiley01:MerlinMaître des clésJ’ajoute que les fichiers PDF sont sur des lecteurs réseaux locaux
Il faut commencer par chercher de ce coté là.
Ça ressemble soit à un problème de droit d’écriture sur les lecteurs réseaux (mais pourquoi avec un logiciel et pas avec l’autre ?), soit à un problème avec les paramètres de protection de Reader, qu’on trouve dans les Préférences.Regarde bien il doit y avoir des réglages différents entre les deux logiciels.
:priere:MerlinMaître des clésBonjour.
Normalement il n’y a aucune différence…
– Quelle version d’Acrobat Pro et Reader ?
– Mac OS ou Windows ?
– Est-ce que ça fait ça avec tous les formulaires ?
– Et si tu fais Fichier : Enregistrer, qu’est-ce que ça donne ?
MerlinMaître des clésVariantes.
– pour réinitialiser un seul champ (très pratique pour les boutons-radio qu’on ne peut pas décocher) :
Code:this.resetForm(“NomDuChamp”);– pour réinitialiser plusieurs champs :
Code:this.resetForm([“NomDuChamp1”, “NomDuChamp2”, “NomDuChamp3”]);:soleil:
MerlinMaître des clésBonjour.
Soit en utilisant l’action “Réinitialiser un formulaire” (Reset Form), soit en utilisant le JavaScript :
Code:this.resetForm();:Smiley15:
29 juin 2016 à 08:58 en réponse à : Imposition de plusieurs modèles sur une même feuille avec Quite Imposing #60961MerlinMaître des clésBonjour et bienvenue.
Ça doit bien faire 10 ans que je n’ai pas utilisé Quite Imposing, alors en ce qui me concerne : :joker:
:Smiley01:MerlinMaître des clésla taille du champ est trop petite pour tout afficher !
Donc il te faut soit agrandir la taille du champ, soit réduire le corps de la police de caractère.
:idee:MerlinMaître des clésBonjour.
On peut pas utiliser un champ “nombre” qui fait des calculs ou qui en est à la base pour y afficher du texte.
Il faudrait donc adapter le script de bebarth ainsi :
Code:if (this.getField(“TotalHT”).value >= 600)
{event.target.value= 0}
else
{event.target.value= 15}27 juin 2016 à 14:23 en réponse à : Indiquer la valeur un champ à partir d’un fichier compteur incrémenté #60852MerlinMaître des clésJe le note.
En espérant qu’Alex t’en dira plus quand il passera par là…
:priere:27 juin 2016 à 14:22 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60914MerlinMaître des clésMerci.
:bonjour:MerlinMaître des clésBonjour.
Parles tu du “vrai” outil d’ajout de texte ou bien de l’outil texte qui se trouve dans les outils de commentaires ?
MerlinMaître des clésBonjour.
Tu as de la chance, Read Aloud vient de faire son come-back dans Acrobat.
Read Aloud c’est le truc qui permet de faire les textes par la synthèse vocale.De toute façon, Mac OS comme Windows sont équipés d’origine d’une synthèse vocale, qui fonctionne très bien dans les PDF.
26 juin 2016 à 18:10 en réponse à : Indiquer la valeur un champ à partir d’un fichier compteur incrémenté #60850MerlinMaître des clésNormalement oui, mais Adobe ne cesse de restreindre les échanges inter-documents “pour raisons de sécurité” en rendant nécessaires certaines actions de la part de l’utilisateur.
Et donc, même si ça fonctionnait aujourd’hui rien ne garanti que ce sera encore le cas après la prochaine mise-à-jour…Mais les échanges inter-documents ce n’est pas quelque chose que je connais bien.
24 juin 2016 à 14:36 en réponse à : Indiquer la valeur un champ à partir d’un fichier compteur incrémenté #60848MerlinMaître des clésBonjour.
Il faudrait tester le script depuis la Console, si ça fonctionne c’est qu’il s’agit d’un problème de “niveau de privilèges”.
Auquel cas il faudra utiliser un script d’application.
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/MerlinMaître des clés:bravo:
24 juin 2016 à 00:47 en réponse à : LiveCycle: changer valeur de boite texte dans le gabarit. #60734MerlinMaître des clésBonjour et bienvenue.
Au vu du nombre de réponses il semblerait qu’ici personne ne puisse te répondre.
Tu devrais peut-être aller voir sur ce forum, le dernier que je connaisse qui soit consacré à Designer : https://forums.adobe.com/community/livecycle:joker:
MerlinMaître des clésBonjour.
Avant la version DC, il me suffisait de ne pas étendre les droits reader sur mon document pour que les utilisateurs du Reader ne puisse pas enregistrer
En fait c’est depuis la version XI, qui a précédé DC.
les extensions reader sont activés par défaut
Plus exactement, c’est tout simplement que la fonction d’enregistrement Acrobat Reader est débloquée en permanence.
comment puis-je faire pour bloquer l’enregistrement des documents pour les utilisateurs qui sont sous Acrobat Reader DC ?
C’est le (petit) revers de la médaille : on ne peut pas.
Moi aussi il y a un cas, et un seul, pour lequel ça m’aurait bien arrangé… Mais j’ai suffisamment pesté pendant des années contre ce système absurde d’activation des PDF que je ne songerais pas à m’en plaindre.:Smiley15:
23 juin 2016 à 08:21 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60902MerlinMaître des clésPar ailleurs j’attire ton attention sur le fait que tu utilises une version obsolète (et laide) de ce fichier. :tutut:
La dernière version en date est disponible ici : http://abracadabrapdf.net/pdf-de-demo/formulaires/formulaire-de-contact/
23 juin 2016 à 07:54 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60901MerlinMaître des clésMalheureusement je n’arrive pas à activer le pdf en mode formulaire afin de voir comme il a été fait.
Est-il possible de connaitre le moyen de voir le type de JavaScript ? :Euuuh:C’est un PDF Reader Extended, voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/pdf-reader-extended/
Dans Acrobat Pro : menu fichier : Enregistrer une copie.
Bien entendu, ensuite il ne faut pas rester sur le PDF original, qui n’est pas modifié : il faut ouvrir “la copie” que l’on vient d’enregistrer.
:geek:22 juin 2016 à 07:48 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60891MerlinMaître des clésSi ce n’est pas possible de rajouter des retours à la ligne directement est-ce qu’il faut le faire avec un JavaScript ?
As-tu essayé avec r ou avec n comme indiqué dans ledit sujet ?
21 juin 2016 à 16:12 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60889MerlinMaître des clésTu devrais lire ce sujet : http://abracadabrapdf.net/forum/index.php/topic,3040.0.html
:Smiley01:
21 juin 2016 à 13:37 en réponse à : Comment modifier l’objet et le body à l’envoi d’un PDF par un bouton ? #60887MerlinMaître des clésBonjour.
mailto:kader.roussel@troismaisons.bis?subject=Bonjour le forum&body=J’ai créé un bouton pour envoyer un mail avec le pdf joint
MerlinMaître des clésPour récupérer un script c’est ce qu’il y a de plus simple, une fois sur la page concernée il faut le sélectionner et le copier.
Par-contre la suite dépend de ce qu’on veut faire, et où.
Il existe plusieurs types de champs de formulaire et plusieurs types d’événements auxquels on peut associer des scripts.Je crois que tu devrais commencer par voir ça :
http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lediteur-de-formulaire-dacrobat/Et par lire ça :
– http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/lordre-dexecution-des-evenements-dans-les-champs-de-formulaire-pdf/
– http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/MerlinMaître des clésJ’ai été voir :
http://www.expreg.com/expreg_article.php?art=verifmail
T’as qu’à laissé comme c’est !!!“Truc de fou”, c’est bien le mot ! Il faut aimer se compliquer la vie.
Concernant la norme RFC822, même si ça peut laisser passer quelques incohérences*, il est plus simple d’utiliser :
S+@S+.S{2,}
Pour l’explication de texte voir : http://abracadabrapdf.net/ressources-et-tutos/abracadabragrep/abracadabragrep-email/
:Smiley15:
* Deux-points “:” dans le nom de domaine par exemple.
MerlinMaître des clésj’ai corrigé tous mes noms de champs et enlevé les espaces
Ainsi tu pourras récupérer les données collectées sans t’arracher les cheveux et sans te faire maudire jusqu’à la 3e génération par ta hiérarchie.
:Smiley01:MerlinMaître des clésBonjour.
C’est assez vague comme description. :Euuuh:
Peux tu donner quelques précisions ?MerlinMaître des clésc’est un champs de texte classique sans rien de particulier, son petit nom c’est “to be sent to“
:tutut:
Jamais d’espaces, de caractères accentués ou spéciaux dans les noms de champs.
C’est au final, quand on veut collecter les données dans un tableur ou une base de données, qu’on comprend pourquoi.
Mais du coup, c’est irréversible, c’est trop tard et il faut tout reprendre à la main.
:soleil:MerlinMaître des clésle retour ligne “n”
n : New paragraphe
r : Return (lign)Le plus souvent ça revient au même, mais parfois non…
:Smiley03:MerlinMaître des clésOu sinon on peut utiliser l’outil de commentaire Ajouter une pièce jointe, ça revient au même et c’est souvent plus intuitif pour l’utilisateur.
15 juin 2016 à 10:45 en réponse à : Impossible de visualiser le tiret du 8, avec le script pour adresse email #60858MerlinMaître des cléstiret du 8 et tiret du 6
Ça ne vaut que sur les claviers Windows, par exemple sur les claviers Mac ces deux signes sont sur la même touche et on serait bien embêté si on devait les désigner ainsi (le tiret de la touche tirets ???). :Smiley08:
Le – s’appelle un trait d’union, bien que la plupart du temps on l’appelle tiret. Mais il faut dire que la différence est mince et que le commun des mortels ne fait pas la différence (moi c’était mon premier métier).
– Le trait d’union est collé aux deux mots suivant et précédent et sert principalement à former les noms composés (ex : porte-clés, Anne-Marie).
– Le tiret est séparé des deux mots suivant et précédent par une espace ou un saut de ligne et sert principalement à séparer ou à ordonner (liste).
:Smiley01:
15 juin 2016 à 10:03 en réponse à : Problème bouton "envoyer" dans un formulaire PDF accessible depuis un site #60634MerlinMaître des clésBonjour et bienvenue.
Alors, via le navigateur, est-il possible d’enregistrer une copie du PDF modifié (script JavaScript ?) sur un dossier d’un site internet ?
…
Merlin dit “La plupart, dont les navigateurs web, se contentent d’afficher la “couche graphique” (le layout) en ignorant tout le reste (boutons, liens, JavaScripts, son, etc.).”Certains navigateurs vont parfois plus loin. Il est possible qu’avec Firefox ça fonctionne jusqu’au bout.
Mais quels que soient les résultats d’un test avec un navigateur donné, il ne faut pas perdre de vue que ça ne concerne pas tous les utilisateurs.
Et ceux pour qui ça ne fonctionnera pas seront immédiatement “largués” pour la plupart.Après il y a plusieurs écoles, moi je suis de celle qui considère que délivrer quelque chose qui ne fonctionne pas bien ou pas toujours revient à délivrer quelque chose qui ne fonctionne pas.
C’est pour ça que je préfère faire autrement (ci-dessus).
:Smiley15:15 juin 2016 à 09:45 en réponse à : Impossible de visualiser le tiret du 8, avec le script pour adresse email #60855MerlinMaître des clésBonjour.
En français ça s’appelle un “tiret-bas”.
:geek:MerlinMaître des clésEssayes ça :
:bravo: :bonjour:
MerlinMaître des clésBonjour.
Avez-vous un lien pour débutant pour apprendre le JavaScript pour PDF ?
Plus qu’un lien, c’est un article complet : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/ressources-pdf-javascript/
:Smiley15:MerlinMaître des clésJe ne sais pas exactement, mais il faut qu’au final le préfixe apparaisse dans le message.
Fais attention que des caractères comme : ou / doivent certainement être échappés (escaped).
C’est-à-dire qu’ils doivent être précédés par un antislash (en JavaScript, pour le HTML je ne sais pas).Du style :
http//L’avantage du préfixe www c’est qu’il ne pose pas ce problème, mais parfois http est irremplaçable.
MerlinMaître des clésDonc en résumé, c’est juste un formulaire qui est envoyé par email. :geek:
Il faut inclure dans fPath le préfixe www ou http:// ou file://
Ainsi le logiciel de messagerie reconnaitra automatiquement que c’est un hyperlien, sur lequel le destinataire n’aura qu’à cliquer.
:Smiley15:MerlinMaître des clésBonjour.
On ne peut pas ajouter une deuxième pièce jointe au sens où tu l’entends, par-contre, avant d’envoyer le formulaire on peut placer dedans autant de pièces jointes qu’on veut.
MerlinMaître des clésBonjour.
j’envoie un message de diffusion via appmail,
Qu’est-ce qu’un “message de diffusion” et qu’est-ce que “appmail” ?
qui renvoie vers l’emplacement du dit formulaire,
Un message qui envoie vers un emplacement ??? :Euuuh:
je n’arrive pas à faire de cet emplacement un lien hypertexte
???
Le mieux serait que tu reformules la question, je n’ai rien compris…
:joker:MerlinMaître des clésUn dessin vaut mieux qu’un long discours (même si je risque des problèmes avec Gougol Adeuxsens…).
:Smiley15:MerlinMaître des clésstring.includes()
Trop facile.
:geek:
MerlinMaître des clésCe n’est pas possible avec Reader.
Soit on n’envoie que les données, et on envoie ce qu’on veut.
Soit on envoie le PDF en entier et on envoie tout.
:idee:9 juin 2016 à 21:47 en réponse à : Comment activer les fonctions supplémentaires sur plusieurs documents ? #60817MerlinMaître des clésC’est surtout pour t’éviter de perdre du temps dans une impasse.
:geek:MerlinMaître des clésPuisqu’on en parle, il existe un autre moyen de faire des codes-barres qui fonctionne avec Reader.
Mais on ne peut que générer que des codes-barres en 1D, pas de Datamatrix ni de QRcodes (2D).MerlinMaître des clésEt puisqu’on est dans les bonnes nouvelles : méfie toi des utilisateurs de Mac.
Le logiciel lecteur de PDF par défaut de Mac OS X, Aperçu, supprime directement les champs code-barre sans aucun avertissement !
Voir : http://abracadabrapdf.net/ressources-et-tutos/pdf-mac/lecteurs-pdf-mac/MerlinMaître des clésBonjour et bienvenue.
Cette limitation de Reader m’a toujours parue étrange et il n’y a pas moyen de la contourner.
Par-contre, même si le formulaire a été rempli avec Reader il me semble bien que le simple fait de l’ouvrir ensuite avec Acrobat Pro fait réapparaitre de QRcode/Datamatrix.
(A tester).Auquel cas seul l’opérateur de saisie aurait besoin d’Acrobat Pro, ou Standard.
Sous réserve qu’on lui envoie des PDF, pas du papier…:idee:
8 juin 2016 à 21:29 en réponse à : Comment activer les fonctions supplémentaires sur plusieurs documents ? #60815MerlinMaître des clés– J’ai bien écrit “serveur LiveCycle”, et non pas “LiveCycle Designer”, qui est un logiciel.
– Dans Sikuli tout est “graphique”, il suffit de lui indiquer sur quel bouton il faut cliquer. Il n’y as pas une seule ligne de script à érire.
MerlinMaître des clésBonjour.
Est-ce que ce ne serait pas plus simple de déclarer la page 1 comme “Modèle de page” pour pouvoir la masquer ensuite ?
(Faute de pouvoir la faire disparaitre vraiment)A priori ça devrait fonctionner avec Reader sous réserve que les “Droits étendus” soient activés, c’est marqué “F” dans la Quickbar, avec un peu de chance ça pourrait même fonctionner directement avec Reader DC et XI…
:priere:8 juin 2016 à 08:34 en réponse à : Comment activer les fonctions supplémentaires sur plusieurs documents ? #60812MerlinMaître des clésBonjour.
L’activation par lot de formulaires PDF était à l’origine une possibilité réservée aux très couteux serveurs LiveCycle.
C’est pour ça qu’Acrobat ne permet qu’une seule activation à la fois, en mode manuel et avec un luxe de boites de dialogues inutiles pour éviter/décourager le scriptage et l’automatisation.
A l’époque d’Acrobat 9 j’avais mis au point un droplet en AppleScript : je glissais les PDF sur une icône pour les activer.
Mais depuis, l’activation des formulaires n’est plus indispensable et Mac OS a bien changé, ça ne fonctionne plus.Tout ça pour dire que pour automatiser cette opération il faut utiliser quelque chose qui “scripte” l’interface en sachant cliquer sur les boutons, et pour ça il n’y a pas mieux que Sikuli, gratuit et disponible pour Windows et pour Mac OS.
MerlinMaître des clésDans le bouton que clique le commercial avant de finaliser ajoute ce script :
Code:this.getField(“LISTE2”).display = display.hidden;Qui va masquer la 2e liste.
MerlinMaître des clésLes grands esprits se rencontrent !
:Smiley03:MerlinMaître des clésPour le coup il y a aussi un deuxième problème potentiel.
Yahoo, Google et consorts changent leurs logiciels, leurs protocoles, etc. à mesure de leur évolution, et Adobe met à jour Acrobat en conséquence.
Donc si l’utilisateur final n’a pas une version (à peu près) à jour il n’est pas étonnant que ça ne fonctionne pas. :idee:
MerlinMaître des clésEn informatique, la plus grande source de problèmes se situe entre le clavier et le dossier de la chaise. :Smiley08:
La plupart des utilisateurs ne font pas la différence entre un webmail et un logiciel de messagerie, alors forcément quand le formulaire leur demande de choisir c’est la cata et ils s’énervent.
Et bien entendu, au final c’est toujours “le formulaire qui ne marche pas”.
C’est l’éternel problème, mais que faire ? :mur: :Euuuh:
MerlinMaître des clésJe ne sais pas si c’est possible de la façon dont tu le prévoyais, par-contre si tous les champs d’une même page ont le même préfixe ça devient plus facile.
Et justement, quand on génère une nouvelle page, ça ajoute un suffixe à tous les champs qui se trouvent dessus…
:Smiley03:MerlinMaître des clésBonjour et bienvenue.
Ce sont des fonctions intégrées sur lesquelles on n’a aucune maîtrise.
As-tu testé sur d’autres ordinateurs ?
MerlinMaître des clésAucune, sinon inciter l’utilisateur à créer et utiliser un Tampon personnalisé.
Mais ce n’est pas user-friendly.MerlinMaître des clésMauvaise nouvelle : les utilisateurs d’Acrobat Reader ne peuvent importer QUE des images au format PDF et n’ont pas ce menu à disposition.
Tu le vois parce-que tu utilises Acrobat Pro.
:idee:
MerlinMaître des clésJe suis largué…
Je ne comprend pas ce que tu veux faire, ni le but. :Euuuh:
MerlinMaître des clésDans la mesure où tu dois numéroter toutes les pages je ne vois pas l’intérêt de ne tester les champs que sur une seule… :Euuuh:
MerlinMaître des clésOui, mais il n’y aurait pas besoin de la faire disparaitre, il suffirait de la masquer dès le début.
:Smiley03:MerlinMaître des clésEt c’est là que ça coince car dans “Liste2” j’ai déjà des valeurs d’export.
Si je comprend bien le script d’Alex, il te faudrait ajouter _0, _1, _2, etc. à la fin des valeurs d’export pour que ça fonctionne.
Est-ce que c’est acceptable ?MerlinMaître des clésEffectivement, je n’y avais pas pensé mais il y a toujours un piège évident avec l’évènement “Quand le doc.sera enregistré”. :geek:
Donc, quand ton formulaire est bien finalisé et tout et tout, tu fais un enregistrer-sous comme il se doit.
Ce qui va forcément verrouiller la liste déroulante en Lecture seule.Ensuite :
– tu vas dans les Préférences : JavaScript pour y “Désactiver Acrobat JavaScript” (1re coche),
– tu vas dans les Propriétés de la liste déroulante pour y décocher l’option “Lecture seule”,
– tu enregistres ou tu enregistres-sous,
– et tu n’oublies pas de réactiver JavaScript.
Avant de le diffuser il ne faut ré-enregistrer le formulaire sous aucun prétexte, sous peine de devoir recommencer le processus ci-dessus.
:Smiley15:
MerlinMaître des clésCode:this.getField(“NomDuChamp”).readonly = true;A placer en Script d’évènement : Quand le document sera enregistré.
Voir : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/les-differents-niveaux-dutilisation-des-scripts-javascript/MerlinMaître des clésSur Mac OS, à partir de LibreOffice le choix est plus simple :
– exportation directe en PDF (Fichier : Exporter),
– enregistrement en PDF via les Apple PDF Services (Fichier : Imprimer : Enregistrer au format PDF),
– enregistrement en PDF via l’imprimante virtuelle AdobePDF (Fichier : Imprimer : Save As Adobe PDF), mais c’est plus cher.
MerlinMaître des clésBonjour.
1 & 2 : Non.
3. : Oui, en utilisant un script.
MerlinMaître des clésBonjour.
Dans les panneaux de navigation (du coté gauche du document dans Acrobat) il y en a un qui s’appelle “Destinations“, c’est comme ça qu’on appelle les “ancres” dans les documents PDF.
C’est dans ce panneau que tout se gère.
MerlinMaître des clés:bonjour:
MerlinMaître des clésQuels paramètres utilises tu ?
A priori je te conseillerais de ne pas utiliser la compression JPEG et de lui préférer la compression ZIP.MerlinMaître des clésBonjour.
A partir du moment où un champ est en lecture seule il ne peut être réactif à aucun événement.
Éventuellement, dans l’esprit de ce que tu as déjà fait, on peut placer par-dessus un autre champ de type bouton (pas de saisie possible) pour servir de déclencheur.
MerlinMaître des clésBonjour.
Il faut faire un lien au fichier mondoc.pdf#page=x avec x = numéro de la page en absolue.
Ça ne fonctionne que si le plugin AdobePDF est installé dans le navigateur de l’utilisateur.
Aujourd’hui c’est un cas plutôt rare. -
AuteurRéponses