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.