Toutes mes réponses sur les forums
-
AuteurRéponses
-
bebarthMaître des clés
…et voilà !
@+
:bonjour:bebarthMaître des clés…et quelles sont ces pages imposées ?
@+
:bonjour:bebarthMaître des clésbonjour,
autant j’avais cru comprendre :Exemple j’ai 40 pages mais je veux enregistrer de la 5 à la 10 par exemple.
…et c’est ce que fait l’action que je t’ai proposé, autant que je n’ai absolument rien compris de ta dernière explication ! :Euuuh:
C’est certainement très clair quand on baigne dedans, c’est pour cela que je préfère que l’on partage un fichier exemple. C’est souvent plus compréhensible.
@+
:bonjour:bebarthMaître des clés…attention à ne pas mettre d’espace(s) dans les noms de champs lorsqu’on utilise le JavaScript !
Y’en a qu’ont essayé, ils ont eu des problèmes ! :geek:@+
:bonjour:bebarthMaître des clésbonjour,
A mettre en script de calcul :Code:var boutonRadio=this.getField(“RADIO1”).value;
var totalOption=this.getField(“total option”).value;
switch (boutonRadio) {
case 2 :
var remise=5;
break;
case 3 :
var remise=10;
break;
case 4 :
var remise=15;
break;
default:
var remise=0;
}
this.event.target.value= totalOption-(totalOption*remise/100);@+
:bonjour:bebarthMaître des clésbonjour,
Voici ma proposition qui est une action à importer (double clique sur le fichier .sequ) puis à lancer.
Le fichier des pages extraites est enregistré dans le même répertoire.
@+
:bonjour:bebarthMaître des clés…du coup, en script de champ désactiver, on pourrait ajouter :
Code:if (this.event.value==”” || this.event.value==null) {
app.alert({cMsg:”Vous devez obligatoirement entrer un montant.”, nIcon:2});
this.getField(“TTC”).setFocus();
};pour ne pas laisser la cellule vide !
@+
:bonjour:bebarthMaître des clésOK ! J’allais proposer de mettre le script en “champ désactivé”.
Code:var moyenne= this.event.value/(this.getField(“stagiaires”).value+ this.getField(“formateurs”).value);
if (moyenne > 12) {
app.alert({cMsg:”Le montant indiqué est supérieur au maximum autorisé de 12 €/personne.”, nIcon:2});
this.event.target.value=0;
this.getField(“TTC”).setFocus();
};@+
:bonjour:bebarthMaître des clés??? pas de message pour moi !!! :Euuuh:
bebarthMaître des clésici le curseur retourne dans le champ, donc si l’on indique encore une mauvaise valeur on aura toujours le message d’alerte !
@+
:bonjour:bebarthMaître des clésbonjour,
Voici ma proposition :Code:var moyenne= this.event.value/(this.getField(“stagiaires”).value+ this.getField(“formateurs”).value);
if (moyenne > 12) {
app.alert({cMsg:”Le montant indiqué est supérieur au maximum autorisé de 12 €/personne.”, nIcon:2});
this.getField(“TTC”).setFocus();
};this.getField(“TTC”).setFocus() repositionne le curseur dans le champ si la moyenne est supérieure à 12.
@+
:bonjour:bebarthMaître des clésbonjour,
Pour le script de Merlin, tu le colles là (cf. copie d’écran) et tu changes le nom du champ !
…et là, d’un seul coup, tu viens de passer de “boulet” à “calot” ! :bravo:
@+
:bonjour:bebarthMaître des clés2 réponses simultanées…
bebarthMaître des clésbonjour,
La bonne nouvelle, c’est qu’il n’y a pas besoin de javascript pour faire ça. La mauvaise, c’est qu’à cause de ça tu va rester une bille… pour aujourd’hui ! :joker:
Voici un fichier et une capture d’écran pour t’indiquer comment faire.
Demande si tu n’as pas compris.
@+
:bonjour:bebarthMaître des clésre-bonjour,
Je viens de réaliser que j’ai oublier de te signaler que dans l’exemple précédent il y a un script de document pour vérifier à l’ouverture si des cases sont cochées ou non.
Dans le nouveau fichier joint, plus de script de document et on vérifie toutes les cases à chaque action.
Tu as le choix…
@+
:bonjour:bebarthMaître des clésbonjour,
Ce qui ne va pas dans tes scripts, c’est qu’on ne peut pas indiquer comme ça (avec nPage) où il faut insérer le “template” sans tenir compte des “slides” précédents !
Ça marche avec le premier slide parce comme l’indique “premier” il n’y en a pas d’autre avant, mais pour les autres cela fonctionne uniquement si les slides précédents sont affichés.
Dans le fichier que je te propose, chaque slide possède une variable qui indique s’il est affiché ou pas. Ensuite, pour insérer le template on aditionne les variables des slide déjà affichés.
Il y avait déjà eu un post similaire à ce sujet : https://abracadabrapdf.net/forum/index.php/topic,3173.msg18509.html#msg18509
J’espère que j’ai été clair. Tu me dis.
@+
:bonjour:bebarthMaître des clésbonjour,
C’est typiquement l’exemple où il serait bon de partager un fichier pour faciliter l’explication.
Regarde cette page :
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_spawnPageFromTemplatebc-105&rhtocid=_6_1_8_23_1_104
@+
:bonjour:5 mars 2018 à 17:59 en réponse à : Enregistrement de formulaire : autoriser seulement une copie #63553bebarthMaître des clésbonjour,
Dans les informations du document, tu as la possibilité de choisir “Modèle” ou “Verrouillé”.
“Modèle” enregistrera automatiquement ton fichier en tant que copie dans le même répertoire (avec ajout de “copie” dans le nom du fichier).
Avec “Verrouillé” tu auras un avertissement et on te proposera d’enregistrer ton fichier sous…
Sinon, Alex avait proposé une solution très bien pensée (script d’action) dans ce post avec un avertissement personnalisable : https://abracadabrapdf.net/forum/index.php?topic=3232.0
@+
:bonjour:bebarthMaître des clésre-bonjour,
Je n’avais pas regarder la copie d’écran et apparemment les cases à cocher sont bien en page 1… mais bon, maintenant tu sauras comment aller sur une autre page en javascript !
Ce n’est peut-être pas très “prudent” de laisser un numéro de téléphone sur un post !
Si tu cherches de l’aide pour ton projet, pose tes problèmes sur différents posts du forum. Lorsque ça devient un peu plus compliqué, il est préférable de partager un fichier exemple. C’est généralement plus simple à comprendre.
Tu peux également me contacter par Messagerie Personnelle si tu penses ne pas pouvoir/devoir partager des informations trop confidentielles. Je verrai ce que je peux faire pour t’aider.
@+
:bonjour:bebarthMaître des clésbonjour,
…et si les cases à cocher ne son pas en page 1 mais que tu ne connais pas le numéro de la page, avant le script tu ajoutes :Code:var pg = this.pageNum;et après le script :
Code:this.pageNum = pg;@+
:bonjour:bebarthMaître des clésNe pas pouvoir copier des données, c’est un peu le but des fichiers protégés ! :mur:
Sinon ils ne le sont pas…
@+
:bonjour:1 mars 2018 à 13:35 en réponse à : Précocher par défaut une case à cocher d’après un bouton radio #63523bebarthMaître des clésre-bonjour,
Voici ma version avec de vrais boutons radio. Ce qui change dans ce cas avec les boutons radio c’est qu’il n’y a pas besoin de conditions puisqu’un seul peut être coché !
Dans cette version, lorsque l’on change de bouton, seule la case indiquée est cochée alors qu’avec la version de Merlin les cases cochées se cumulent… mais c’est peut-être le but recherché.
Par contre, si on change l’état d’une des cases à coché, le bouton radio ne change pas (tous pourraient redevenir non cochés).
@+
:bonjour:1 mars 2018 à 12:02 en réponse à : Précocher par défaut une case à cocher d’après un bouton radio #63519bebarthMaître des clésbonjour,
Pour cocher une case ou un bouton par défaut, il y a juste une case à cocher. Pour la suite, je pense qu’il va valloir quand même y passer…
Dans tes instructions : “…est coché par défaut mais modifiable”, cela signifie que si l’on modifie l’état de la case CC, l’état du bouton radio BR change aussi ou reste coché ???
@+
:bonjour:bebarthMaître des clésPour moi, “…from script embedded within the document” signifie que le script doit être incorporé dans le document, donc pas d’un document à un autre ! Ou me trompè-je ? (autant la langue française est belle, autant là il y a matière à discussion).
@+
:bonjour:bebarthMaître des clésbonjour,
Pareil !!! le nombre d’heures que j’ai pu passer à cause d’une instruction male écrite…
Lorsqu’on débute, écrire en javascript directement dans Acrobat n’est pas ce qui est le plus évident, surtout quand on commence à enchaîner les conditions…
Je conseil d’utiliser un éditeur qui signale les erreurs de syntaxes, puis de copier/coller dans Acrobat. Moi j’utilise Dreamweaver parce que j’ai une suite Adobe, mais il y en a certainement d’autres gratuits qui font ça aussi bien. Je pense que Merlin peut nous en conseiller (Mac & PC).
@+
:bonjour:bebarthMaître des clésbonjour,
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_buttonSetIconbc-6&rhtocid=_6_1_8_31_2_5
Ici la note qui indique que buttonSetIcon n’est permis qu’à l’intérieur d’un document ! Pourquoi ???
@+
:bonjour:bebarthMaître des clésbonjour,
…essaye avec this.pageNum !
@+
:bonjour:bebarthMaître des clésbonjour,
Je n’arrive pas à “copier” l’icone d’un fichier à l’autre (alors que je ne vois pas de restriction & cf. fichier swap…), j’importe donc la page, puis je vais chercher l’icone et enfin je supprime la page importée.
Attention :- “this.disclosed = true;” n’est aps une fonction en script de document, sinon if faut appeler cette fonction.
- ici, les champs du fichier “Fichier_LIER” ont été renommés pour ne pas avoir les mêmes noms que ceux des champs importés
[/list]Tu me dis si ça te vas !
Merlin,
Vois-tu une explication sur le fait que je n’arrive pas à aller chercher directement l’icone dans l’autre fichier ?@+
:bonjour:bebarthMaître des clés…j’ai oublié de mettre le bouton radio en lecture seule !
@+
:bonjour:bebarthMaître des clésbonjour,
A première vue je ne pense pas que ce soit réalisable, mais je vais regarder car je n’ai jamais fait ça !
si l’image a un nom “Image-2” c’est une pièce jointe ?
@+
:bonjour:bebarthMaître des clésbonjour,
pourquoi 4 noms de bouton radio ? un seul suffit avec des valeurs différentes puisqu’il ne peut y avoir qu’une seule condition requise…
J’ai ajouté un script de touches personnalisé pour être sur de ne rentrer que des chiffres entiers !
@+
:bonjour:bebarthMaître des clésAprès avoir lu la page indiquée par Merlin, voici pour t’aider…
Pour charger l’action, tu double-cliques le fichier .sequ
Tu pourras ensuite regarder le script et voir si tu peux l’adapter !
@+
:bonjour:bebarthMaître des clésbonjour,
Premièrement, Il faut que tes fichiers 1 & 2 possèdent un script de document :Code:this.disclosed = true;https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_properties.htm%23TOC_disclosedbc-12&rhtocid=_6_1_8_23_0_11
Ensuite, pour des raisons de sécurité, le script ci-dessous ne sera réalisable qu’à partir d’une action :Code:var Chemin = this.path;
var Dossier = Chemin.substring(0,Chemin.length-this.documentFileName.length);
var otherDoc = app.openDoc({
cPath: Dossier+”Fichier_1.pdf”,
});
var champA= otherDoc.getField(“A”).value;
otherDoc.closeDoc();
var otherDoc = app.openDoc({
cPath: Dossier+”Fichier_2.pdf”,
});
var champB= otherDoc.getField(“B”).value;
otherDoc.closeDoc();
this.getField(“C”).value= champA+champB;…script à adapter, of course !!!
Dans ce script, tous les fichiers sont dans le même répertoire.
@+
:bonjour:bebarthMaître des clés…il manque un else !
Code:for (var i=0; ivar oFld = this.getField(this.getNthFieldName(i));
if((oFld.type == “text”) && (oFld.valueAsString == oFld.defaultValue)) {
oFld.textColor = color.white;
} else {
oFld.textColor = color.black;
}
}
@+
:bonjour:bebarthMaître des clésbonjour,
de tête, comme ça, je ne pense pas que l’on puisse récupérer le script d’un champ afin de le modifier !
Mais vu que l’on récupère et affiche les valeurs des formulaires, il ne devrait pas y avoir besoin de calculs. :doute:
peut-être je n’ai pas compris quelque chose !
@+
:bonjour:bebarthMaître des clésbonjour,
personnellement je ne pense jamais à utiliser les scripts des actions du document ! :bravo:
J’aurais fait une usine à gaz pour arriver à ce résultat !!!
Si les champs ont un fond, il faudra utiliser “oFld.textColor = color.transparent” plutôt que “oFld.textColor = color.white” !
Et si les textes ont des couleurs différentes, il faudra stocker les stocker dans une table avant de les récupérer.
Je dis ça au cas ou car cela m’arrive fréquemment d’avoir des fonds de champs et des couleurs de textes différents mais on ne m’a jamais demandé de cacher les valeurs à l’impression…
@+
:bonjour:bebarthMaître des clésbonjour,
…et merci pour tes remerciements que je réitère moi-même à Merlin vu le nombre d’heures qu’il consacre à son forum ! :bravo:
Je dis toujours que lorsque l’on donne ce n’est pas pour recevoir, mais ça fait quand même plaisir de recevoir de temps en temps…
Certaines fois on a aucun retour alors que l’on s’est creusé la tête pour trouvé une solution. Même pas : “ça marche pas !” ou “ça marche !”.En ce qui concerne la duplication des champs, je te conseille de lire cette page :
https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/duplication-rapide-de-champs-de-formulaire/
Tu comprendras certainement mieux l’indexation des champs et la facilité des calculs sur ces champs dupliqués.
Dans ton cas, il faut donner des valeurs d’exportation à chaque élément de la première liste et cocher “Valider la valeur sélectionnée immédiatement”. Ensuite il n’y a plus qu’à dupliquer….
@+
:bonjour:bebarthMaître des clés…voici !
j’ai mis le champ “moyenne” sur la première page.
Regarde un peu la différence avec ton fichier original.
j’espère que tu comprendras sinon dis-moi, j’expliquerai !
@+
:bonjour:bebarthMaître des clésbonjour,
Code://pour passer le texte en blanc
this.getField(“myField”).textColor = color.white;
//pour passer le texte en noir
this.getField(“myField”).textColor = color.black;Pour plus d’informations sur les couleurs :
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2Fcolor_properties.htm
@+
:bonjour:bebarthMaître des clésbonjour,
c’est effectivement possible en javascript, mais la façon de faire dépend un peu de comment sont identifiés les champs…
Si tu avais un fichier exemple à partager on pourrait adapter le script !
@+
:bonjour:bebarthMaître des clésbonjour,
on va commencer par ajouter un script de document à ton fichier formulaire original.
Tu ouvres ce fichier puis la console Acrobat (“cmd j” sur Mac et je présume “ctrl j” sur PC).
Dans la fenêtre de la console tu va taper (ou coller) ce code :Code:this.addScript(“Disclosed”, “this.disclosed = true;”);puis la touche ENTREE (et non RETOUR LIGNE). Le script de document a bien été créé.
Tu enregistres ton fichier original (ça c’est fait !).
Tu fais une copie de ce fichier que tu renommes comme tu veux (le miens, c’était “Fusion de Formulaires.pdf”).
Ensuite, outil : Traitement du document -> Modèles de page.
Tu crées un modèle nommé “vide” (c’est le nom que j’ai donné dans mon script),-> Ajouter, …le template “vide” est créé, tu ferme la fenêtre.
Retour à la console, tu tappes (ou colles) :Code:this.spawnPageFromTemplate(“vide”, this.numPages, false, false);puis la touche ENTREE.
Retour à la fenêtre de Modèles de page où tu vas cliquer sur l’oeil à gauche de manière à le faire disparaitre.
Tu fermes la fenêtre et tu enregistres. C’est fini ! tu peux maintenant utiliser l’action avec tes formulaires…
J’espère avoir été clair et ne rien avoir oublié !
Tu me dis…
@+
:bonjour:bebarthMaître des clésBonjour,
Il faut créer le template du fichier à partir d’un fichier final et définitif !!! Sais-tu faire ça ???
Sinon on pourra voir ça demain.
@+
:bonjour:bebarthMaître des clés…la suite.
Tu essayes comme ça et on verra après si on peut adapter à tes besoins !
@+
:bonjour:bebarthMaître des clésbonjour,
voici vite fait quelques copies d’écrans pour t’aider à démarrer :- tu décompresses le fichier .zip
- tu double-cliques le fichier .sequ pour installer l’action (donc uniquement la première fois).
- tu lances le fichier “Fusion de Formulaires.pdf”
- tu lances l’action
- tu remplis les champs (ici “fichier 1” et “fichier 2” comme dans le répertoire, mais tu peux indiquer d’autres noms…)
- tu termine avec un champ vide
- c’est fini, les formulaires sont compilés en un seul
[/list]@+
:bonjour:bebarthMaître des clés…j’ai toujours dis UN icone !
Il est vrai que ce n’est pas très clair.
@+
:bonjour:bebarthMaître des clésbonjour,
Sur MacOS X c’est entre 0 , 1 et 2 qu’il n’y a pas de différence pour le paramètre nIcon.
Petite correction : Sur MacOS X c’est entre 1 , 2 et 3 qu’il n’y a pas de différence pour le paramètre nIcon.
La valeur 0 du paramètre donne une icône différente.
Je viens de vérifier et je ne sais pas comment sont les autres icônes sur PC, ni pourquoi y a-t-il une différence Mac/PC ???
@+
:bonjour:bebarthMaître des clésSi tu veux regarder les copies d’ecran De ce post, c’est exactement le même principe :
https://abracadabrapdf.net/forum/index.php?topic=3410.0
Sinon je te ferai des copies d’ecran Plus tard !@+
:bonjour:bebarthMaître des clés…et pourquoi 2 boutons ?
@+
:bonjour:bebarthMaître des clésbebarthMaître des clésre-bonjour,
moi je n’y connais pas grand chose en porte document alors j’ai créé une action avec un script qui (je crois) correspond à ce que tu voulais faire.
Il faudra bien sur importer l’action la première fois puis on ouvre le fichier “Fusion de Formulaires” et on lance l’action.
Ici ça fonctionne avec les 2 fichiers joints mais if faudra adapter le script en fonction du formulaire final !
@+
:bonjour:bebarthMaître des clésbonjour,
si ça marche comme ça, c’est plus simple !!!
@+
:bonjour:bebarthMaître des clésUne action qui importerait chaque formulaire en indexant les champs qui n’auraien Donc plus les mêmes noms !
Les noms des fichiers ont-ils une base commune ?
@+
:bonjour:bebarthMaître des clésje pense que comme ça il n’y a pas grand chose à faire… alors que peut-être avec un script !
bebarthMaître des clésA mon avis lorsqu’on insère une page à partir d’un template, cela devient une page et n’a plus de lien avec le template (c’est clair ??? :doute: ).
il faudrait donc vérifier par exemple le nom d’un champ de la dernière page et voir ce champ est également sur le template…
@+
:bonjour:bebarthMaître des clés…ça j’ai bien compris, mais comment procèdes-tu ???
Tu ouvres un formulaire, puis avec le menu “Insérer des pages” tu importes l’autre ? ou avec un script ?
Comment se nomment et où se trouvent ces formulaires ? dans le même répertoire ?
Uniquement 2 formulaires à combiner ?
Ça demande un peu plus de précision…
@+
:bonjour:bebarthMaître des clésbonjour,
on a le droit de voir le fichier ?
Sur le dernier que tu as posté il n’y a pas de bouton reset ni le template indiqué.- 3 fois delete… https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_deletePagesbc-20&rhtocid=_6_1_8_23_1_19
- A mon avis tu devrais plutôt écrire :
this.spawnPageFromTemplate(“signatairesentrant”, this.numPages, false, false);
Pourquoi nPage:16 si c’est pour insérer en dernière page ?
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_spawnPageFromTemplatebc-105&rhtocid=_6_1_8_23_1_104
[/list]@+
:bonjour:bebarthMaître des clésbonjour,
comment les fusionnes-tu ? tu en importes un à la suite de l’autre… ou à partir d’un troisième document ?
Il faudrait indexer les champs importés ! aucun champ ne reste commun ???
@+
:bonjour:bebarthMaître des clésbonjour,
dans ce cas, tu supprimes les lignes :Code://Créer un rectangle sur le mot trouvé
var q = this.getPageNthWordQuads(p, i);
…
// Epaisseur des bords
l.borderWidth = 2;@+
:bonjour:bebarthMaître des clésbonsoir,
pourquoi ne charges-tu pas l’action ??? juste un double clique sur le fichier .sequ puis tu la lances (cf. copies d’écrans).
Je viens de chercher le mot “document” et extraire les pages dans l’api reference (779 pages) sans aucun problème en un peu plus de 5 minutes !!!
@+
:bonjour:13 février 2018 à 17:21 en réponse à : Assistant d’action / lancement d’une action depuis un script #63370bebarthMaître des clés…j’ai encore un peu de mémoire ! :geek:
bebarthMaître des clésbonjour,
… je vais regarder cela.??? je ne sais pas ce que tu vas regarder car tu ne m’as pas dis quels champs devaient être réinitialisés !
… Cependant, la signature reste alors que je voudrais l’enlever.Comment veux-tu l’enlever et comment reste-t-elle ??? Aurais-tu un fichier à partager ?
…par contre, je ne vais pas être dispo aujourd’hui !!!
bonne journée.
@+
:bonjour:13 février 2018 à 06:58 en réponse à : Assistant d’action / lancement d’une action depuis un script #63367bebarthMaître des clésbonjour,
Il me semble que tu as déjà eu une réponse il n’y a pas si longtemps que ça ! :Smiley03:
https://abracadabrapdf.net/forum/index.php/topic,3345.msg19643.html#msg19643
@+
:bonjour:bebarthMaître des clésbonjour,
quels sont les champs à ne pas réinitialiser ou ceux à réinitialiser, selon…
@+
:bonjour:bebarthMaître des clésbonjour,
essaie plutôt comme ça :Code:switch (this.getField(“Text5”).value) {
case “Essai-1”:
this.getField(“Donnees-1”).display = display.visible;
this.getField(“Donnees-2”).display = display.hidden;
this.getField(“Donnees-3”).display = display.hidden;
this.getField(“Donnees-4”).display = display.hidden;
break;
case “Essai-2”:
this.getField(“Donnees-1”).display = display.hidden;
this.getField(“Donnees-2”).display = display.visible;
this.getField(“Donnees-3”).display = display.hidden;
this.getField(“Donnees-4”).display = display.hidden;
break;
case “Essai-3”:
this.getField(“Donnees-1”).display = display.hidden;
this.getField(“Donnees-2”).display = display.hidden;
this.getField(“Donnees-3”).display = display.visible;
this.getField(“Donnees-4”).display = display.hidden;
break;
default:
this.getField(“Donnees-1”).display = display.hidden;
this.getField(“Donnees-2”).display = display.hidden;
this.getField(“Donnees-3”).display = display.hidden;
this.getField(“Donnees-4”).display = display.visible;
}@+
:bonjour:bebarthMaître des clésbonjour,
voici donc une action que j’ai créé à partir de 2-3 scripts déjà réalisés (il reste peut être quelques variables inutiles…).
Ici, pour accélérer le processus, je ne vérifie qu’une fois si le mot est présent sur la page, puis passe à la page suivante.
J’ai fait quelques vérifications et cela fonctionne. J’espère n’avoir rien oublié, sinon merci de me signaler le/les problèmes(s).
@+
:bonjour:bebarthMaître des clésbonjour,
je pense que je devrais avoir quelque chose pour toi !
Je n’aurais pas le temps de regarder ce weekend, mais promis dès lundi.
@+
:bonjour:bebarthMaître des clésbonjour,
Ce n’ai pas du “tout simple” mais j’ai déjà fait quelque chose comme ça…
Même question que Merlin : au final tu veux des fichiers individuels ou un seul fichier final ?
@+
:bonjour:6 février 2018 à 15:23 en réponse à : Rendre le PDF non modifiable au moment de l’envoi par mail #58296bebarthMaître des clésbonjour,
si l’on crée le bouton sur Acrobat Pro avec une action “Envoyer un formulaire”, ça fonctionne également sur iPhone/iPdad !
Le souci c’est le javascript qui n’est pas totalement compris par ces téléphones et tablettes.
@+
:bonjour:bebarthMaître des clésVoici une proposition qui devrait te permettre de voir ce que l’on peut faire.
J’espère que tu comprendra comment faire, sinon il faut te plonger dans ces 2 pages :
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_addField1bc-2&rhtocid=_6_1_8_23_1_1
et
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htmJe ne sais pas s’il est possible de récupérer d’un seul coup TOUTES les propriétés d’un champ. Peut-être Merlin peut nous dire…
@+
:bonjour:5 février 2018 à 09:20 en réponse à : Rendre le PDF non modifiable au moment de l’envoi par mail #58289bebarthMaître des clésbonjour,
Désolé mais je ne suis pas très au courant des problèmes rencontrés avec les tablettes… à par qu’il y a des soucis avec le javascript.
@+
:bonjour:bebarthMaître des clésbonjour Merlin,
…dupliquer des rangées de champs ce n’est possible qu’avec LiveCycle Designer.
…disons que c’est assez compliqué avec Acrobat Pro ! Mais on peux créer des champs et en déplacer d’autres.
@+
:bonjour:bebarthMaître des clésbonjour,
Personnellement je n’ai pas bien compris !
Tu veux rajouter des champs en décalant les autres ou une page de formulaire ?
@+
:bonjour:3 février 2018 à 14:48 en réponse à : Rendre le PDF non modifiable au moment de l’envoi par mail #58287bebarthMaître des clés…je viens d’essayer et ça fonctionne.
Ne pas oublier de sauvegarder avant d’envoyer si tu veux garder le document non aplati en local…
@+
:bonjour:3 février 2018 à 11:03 en réponse à : Rendre le PDF non modifiable au moment de l’envoi par mail #58286bebarthMaître des clésbonjour,
à mon avis il faut que ton bouton d’envoi exécute les 2 actions.
D’abord l’envoi de la version non aplatie puis aplatir et renvoyer le formulaire:Code:this.mailDoc({
bUI: false,
cTo: “toto@free.fr”,
cSubject: “Sujet du message”,
cMsg: “Texte du message.”
});
this.flattenPages();
this.mailDoc({
bUI: false,
cTo: “autretoto@free.fr”,
cSubject: “Sujet du message”,
cMsg: “Texte du message.”
});
closeDoc(true);…à tester !!!
@+
:bonjour:bebarthMaître des clésc’est normal, même nom de champ -> mêmes valeurs !!!
Il faut donc juste changer un false par un true…Code:this.spawnPageFromTemplate(“NomDuTemplate”, this.numPages-4, true, false);@+
:bonjour:bebarthMaître des clésbonjour,
selon si l’on utilise Acrobat et que l’on a les bonnes autorisations d’accès, on peut avoir 2 fichiers distincts !
dans l’exemple joint, les deux fichiers doivent être dans le même répertoire.
Ne pas oublier “this.disclosed = true;” en script d’ouverture des fichiers.
@+
:bonjour:bebarthMaître des clésbonjour,
il faut écrire :Code:this.spawnPageFromTemplate(“NomDuTemplate”, this.numPages-4, false, false);@+
:bonjour:bebarthMaître des clésbonjour,
Ça ne fonctionnait pas dans ton fichier…
Ici, j’ai aussi rajouté un calendrier pour le champ date !
@+
:bonjour:bebarthMaître des cléstu peux rajouter un calendrier si tu va voir sur cette page :
http://www.formrouter.com/tools/index.html
mais ça n’a rien à voir avec celui de Merlin !
@+
:bonjour:bebarthMaître des clésOù y a-t-il un calendrier dans ton fichier ?
@+
:bonjour:bebarthMaître des clésbonjour,
si tu cherche sur le web tu devrais en trouver, mais le meilleur c’est quand même celui-ci :
https://www.abracadabrapdf.net/utilitaires/utilitaires-pdf/magicdate-selecteur/
@+
:bonjour:bebarthMaître des clésbonjour,
il suffit juste de récupérer l’année pour chaque champ “date”, et cela selon le format des champs, et de faire une soustraction !
En gros, pour un format de date à la française, ça donnerait :Code:var dd1=this.getField(“champdate1”).value;
var annee1=dd1.slice(dd1.length-4);
var dd2=this.getField(“champdate2”).value;
var annee2=dd2.slice(dd2.length-4);
this.event.target.value=annee2-annee1;@+
:bonjour:bebarthMaître des clés…et pour mieux comprendre qu’on prend le jour à la position “lejour” dans la table, on peut écrire la dernière ligne :
Code:…
this.event.target.value=tableaujour[lejour];:bonjour:
bebarthMaître des cléssi tu veux connaitre le jour de la semaine de la date indiquée dans ton champ “date”, tu places ce script en script de calcul d’un champ texte :
Code:var dd=this.getField(“date”).value;
var jour=dd.slice(0, 2);
var mois=dd.slice(3, 5);
var annee=dd.slice(6);
var ladate=new Date(annee,(mois-1),jour);
var lejour=ladate.getDay();
var tableaujour=new Array(“Dimanche”, “Lundi”, “Mardi”, “Mercredi”, “Jeudi”, “Vendredi”, “Samedi”);
this.event.target.value=tableaujour[ladate.getDay()]@+
:bonjour:bebarthMaître des clésvoici un petit script qui te permettra d’avancer dans tes recherche…
il faudra bien sûr l’adapter à ce que tu veux faire !Code:var ladate=new Date();
var lejour=ladate.getDay();
var tableaujour=new Array(“Dimanche”, “Lundi”, “Mardi”, “Mercredi”, “Jeudi”, “Vendredi”, “Samedi”);
console.println(“Aujourd’hui nous sommes : “+tableaujour[ladate.getDay()]);@+
:bonjour:bebarthMaître des cléscorrect !
bebarthMaître des clésLes totaux SP s’incrémentent dès que tu sélectionnes un nom…
Ce n’était pas prévu comme ça ???
Les champs “Grade” et “Status” pourraient d’ailleurs se remplir automatiquement selon le nom choisi !
@+
:bonjour:bebarthMaître des clésbonjour,
je ne vois pas de total général !
@+
:bonjour:bebarthMaître des clésbonjour,
Dans ton cas il vaut mieux définir la première ligne de champs sans indexation puis les dupliquer (cf. copie d’écran). C’est ensuite beaucoup plus simple pour faire des opérations…
Je présume que dans ton formulaire les champs “Grade” et “Statut” pourraient être rempli automatiquement en fonction du nom !!!
@+
:bonjour:bebarthMaître des clésbonjour,
effectivement, pourrais-tu nous dire ce qui ne va pas ou quoi doivent correspondre les différents totaux !
@+
:bonjour:bebarthMaître des clésbonjour,
tu mets le script en script de calcul du champ cible.
@+
:bonjour:bebarthMaître des clésbonjour,
quel est le format du champ cible ? as-tu essayé la catégorie “Aucune” ?
@+
:bonjour:24 janvier 2018 à 12:13 en réponse à : Afficher le min ou max d’une serie de valeur SEULEMENT Vue #63200bebarthMaître des clés…et voilà !
ça doit certainement pouvoir être simplifié !
@+
:bonjour:bebarthMaître des clésmasqués oui, mais si la personne se trompe de champ le chiffre indiqué par erreur doit s’effacer.
…alors ça j’ai pas compris ! d’ailleurs le reste non plus car pour l’instant dans ton fichier lorsque qu’on rempli un des champs, les autres sont désactivés comme tu le souhaites. :Euuuh:
@+
:bonjour:bebarthMaître des clésbonjour,
je présume que “se désactivent” signifie sont masqués !
aurais-tu un fichier à partager ?
@+
:bonjour:24 janvier 2018 à 07:28 en réponse à : Afficher le min ou max d’une serie de valeur SEULEMENT Vue #63198bebarthMaître des clésbonjour Merlin,
c’est ce que j’ai fait, mais je n’arrive pas à intégrer la table dans Math.max(table) !!!
@+
:bonjour:bebarthMaître des cléssinon, l’action que j’avais proposée (https://abracadabrapdf.net/forum/index.php?action=dlattach;topic=2989.0;attach=2468) sépare les planches en pages paires et impaires et les re-classe dans l’ordre !
@+
:bonjour:23 janvier 2018 à 11:38 en réponse à : Afficher le min ou max d’une serie de valeur SEULEMENT Vue #63196bebarthMaître des clés…plutôt 32 combinaisons !
:bonjour:bebarthMaître des clésTon problème m’en rappelle un autre :
https://abracadabrapdf.net/forum/index.php/topic,2989.msg16916.html#msg16916Dans ton exemple si a l’origine une page comporte les pages paires et impaires d’un document, il y a un signet commun pour ces 2 pages, donc dans ton document final les pages paires et impaires ont le même nom de signet correct ???
Si tu importe un document dans un autre, tu vas avoir toutes les pages paires, puis toutes les impaires (ou l’inverse). Ensuite tu les re-classes manuellement ?
@+
:bonjour: -
AuteurRéponses