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 #46008
bescoff
MembreBonjour, 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 #65251
bebarth
Maître des clésbonjour,
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 #65252bescoff
MembreMerci 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 #65253bebarth
Maî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 #65254bescoff
Membre: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 #65255bebarth
Maî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.