abracadabraPDF › Forums › PDF – Général › Peut on modifier le script d’un champ de formulaire avec l’outil Actions ?
- Ce sujet est vide.
-
CréateurSujet
-
7 février 2019 à 06:42 #46008bescoffMembre
Bonjour, je cherche mais ne trouve pas. Je dois modifier le script d’un champ de formulaire pdf sur plus de 1000 fichiers. J”ai essayé avec un générateur de macros mais celà ne fonctionne pas bien. Est il possible de le faire avec l’outil Actions ?
Merci d’avance pour votre aide. -
CréateurSujet
-
AuteurRéponses
-
7 février 2019 à 07:54 #65251bebarthMaître des clés
bonjour,
Je dois modifier le script d’un champ de formulaire pdf sur plus de 1000 fichiers.
C’est selon ce que tu entends par le mot “modifier” que cela dépend !
On ne peut pas récupérer le script d’un champ, mais on peut lui en attribuer un :
https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_methods.htm%23TOC_setAction2bc-17&rhtocid=_6_1_8_31_2_16
@+
:bonjour:7 février 2019 à 09:30 #65252bescoffMembreMerci pour la réponse,
j’ai le script suivant dans un champ de formulaire :
Code:(var f = this.getField(“nom_sauve”);
f.value = (this.getField(“no_contr”).value
+ “-” + this.getField(“contr_nom”).value);
d = this.getField(“date_recept”); if(d.value == null || d.value == “”) {d.value = util.printd(“dd-mm-yyyy”, new Date())};et j’aimerais le remplacer par le suivant :
Code:var f = this.getField(“nom_sauve”);
var a = this.getField(“annee_fiscale”);
var d = this.getField(“Date_recept”);
var e = this.getField(“annee_25ans”);
f.value = (this.getField(“no_contr”).value
+ “-” + this.getField(“contr_nom”).value)+”-“+util.printd(“yyyy”, new Date());
a.value = util.printd(“yyyy”, new Date())-1
d.value = util.printd(“dd-mm-yyyy-HH:MM”, new Date());
e.value = util.printd(“yyyy”, new Date())-26Ceci dans l’ensemble de mes fichiers, plus de 1000 !
Évidement je ne tiens pas à les faire un par un manuellement.
Merci7 février 2019 à 10:15 #65253bebarthMaître des clésbonjour,
Il va falloir être sûr de ton sript et le transformer en unicode pour pouvoir l’insérer dans le script de l’action.
https://www.abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/pdf-javascript-et-unicode/
L’utilitaire :
https://abracadabrapdf.net/utilitaires/utilitaires-pdf/abra-txt2unicode-texte-vers-unicode/
Ensuite, voici le script de l’action :Code:var g=this.getField(“nomduchampAmodifier”);
// Tu colles le texte unicode entre les guillemets
var leScript=”u0076u0061u0072u0020u0066u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u006Eu006Fu006Du005Fu0073u0061u0075u0076u0065u0022u0029u003Bu000Du0076u0061u0072u0020u0061u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0061u006Eu006Eu0065u0065u005Fu0066u0069u0073u0063u0061u006Cu0065u0022u0029u003Bu000Du0076u0061u0072u0020u0064u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0044u0061u0074u0065u005Fu0072u0065u0063u0065u0070u0074u0022u0029u003Bu000Du0076u0061u0072u0020u0065u0020u003Du0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0061u006Eu006Eu0065u0065u005Fu0032u0035u0061u006Eu0073u0022u0029u003Bu000Du0066u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0028u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u006Eu006Fu005Fu0063u006Fu006Eu0074u0072u0022u0029u002Eu0076u0061u006Cu0075u0065u000Du002Bu0020u0022u002Du0022u0020u002Bu0020u0074u0068u0069u0073u002Eu0067u0065u0074u0046u0069u0065u006Cu0064u0028u0022u0063u006Fu006Eu0074u0072u005Fu006Eu006Fu006Du0022u0029u002Eu0076u0061u006Cu0075u0065u0029u002Bu0022u002Du0022u002Bu0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u003Bu000Du0061u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u002Du0031u000Du0064u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0064u0064u002Du006Du006Du002Du0079u0079u0079u0079u002Du0048u0048u003Au004Du004Du0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u003Bu000Du0065u002Eu0076u0061u006Cu0075u0065u0020u003Du0020u0075u0074u0069u006Cu002Eu0070u0072u0069u006Eu0074u0064u0028u0022u0079u0079u0079u0079u0022u002Cu0020u006Eu0065u0077u0020u0044u0061u0074u0065u0028u0029u0029u002Du0032u0036″;
g.setAction(“Calculate”, leScript); // pour un script de calcul
this.saveAs({
cPath: this.path,
bPromptToOverwrite: false,
});…puis tu lances l’action après avoir ajouté tous les fichiers dans la liste. Si tu en as 1000, fait déjà un essai avec quelques uns…
@+
:bonjour:7 février 2019 à 13:52 #65254bescoffMembre:bravo: Merci infiniment bebarth, je vais tester ceci le plus vite possible.
Tu me fait économiser un temps fou !
Depuis plusieurs jours je pataugeait dans les nombreux exemples de scripts et actions sans trouver, c’est vrai qu’a 67 ans j’ai déjà perdu pas mal de neurones :Smiley08:Merci encore, a+
Bernard7 février 2019 à 14:42 #65255bebarthMaître des clésc’est vrai qu’a 67 ans j’ai déjà perdu pas mal de neurones :Smiley08:
j’espère pas trop !!! j’y arrive à grands pas !
@+
un autre Bernard
:bonjour: -
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.