Toutes mes réponses sur les forums
-
AuteurRéponses
-
bebarthMaître des clésbonjour,
tu changes la ligne en :
mailDoc(true, fTo.value, « », « », fSubject.value, fBody.value);
@+
:bonjour:
bebarthMaître des clésbonjour,
essaie avec Math.floor(x) ça devrait fonctionner !
@+
:bonjour:
bebarthMaître des clésJe peux essayer, mais je ne te promets pas de date…
Je regarde déjà si c’est dans mes cordes !!!
@+
:bonjour:
bebarthMaître des clésbonjour Merlin,
Je viens de tester ton action et elle fonctionne parfaitement, je n’ai absolument rien à dire.
Je me demandais juste s’il ne serait pas intéressant d’avoir la possibilité de trier par champ, et d’afficher les propriété de chaque champ !!!
Je me permets de te soumettre cette possibilité car tu as indiqué que tu étais ouvert à toute proposition. A toi de voir.
@+
:bonjour:
bebarthMaître des clésbonjour,
J’arrive sur la discussion un peu tard, mais est-ce que le fichier doit être « Enregistré » ou « Enregistré sous » ?
Le bouton « Enregistrer » peut-être remplacer par une action ???
Si oui, je propose :this.getField(« prof »).value = 0;
// Enregistrement
var nomFichier = this.documentFileName;
var aMyPath = this.path.split(« / »); // Split Path into an array so it is easy to work with
aMyPath.pop(); // Remove old file name
aMyPath.push(nomFichier); // Add new file name
this.saveAs(aMyPath.join(« / »)); // Put path back together and saveLe fichier est directement enregistré sans avoir à Enregistrer sous… Remplacer…
@+
:bonjour:
bebarthMaître des clésbonsoir,
Pour aplatir toutes les pages d’un document, il faut lancer :
this.flattenPages();
@+
:bonjour:
bebarthMaître des clésbonjour Merlin,
je viens d’essayer avec Acrobat XI.
Uniquement les noms de champs sont indiqués ou y a-t-il possibilité d’afficher d’autres propriétés ?
@+
:bonjour:
bebarthMaître des clés…ou alors tu sélectionnes uniquement les fichiers « PG.pdf » au lieu du dossier « A Traiter », mais c’est moins automatique !!!
ça dépend du nombre de fichiers non pdf présents !!!
@+
:bonjour:
bebarthMaître des clésbonjour,
voici un script qui affiche les infos dans la console :
console.show();
console.clear();
var nomchamp= » »;
for (var i = 0; i < this.numFields; i++) {
var nomchamp=this.getNthFieldName(i);
var f = this.getField(nomchamp);
console.println(« u0020u000Du0020 »)
console.println(« *** Nom du champ : « + f.name)
console.println(« Page : « + (f.page+1))
console.println(« Type : « + f.type)
console.println(« Couleur du fond : « + f.fillColor)
// etc.
}
ici la liste des propriétés :
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htmOn peu définir l’action d’un champ avec setAction mais la lire, comme ça je ne sais pas !
@+
:bonjour:
bebarthMaître des clésLe problème avec l’action, c’est qu’elle traite un fichier ouvert !
C’est pourquoi j’ai rajouté this.dirty dans l’expression switch par défaut. Ça sert à fermer un fichier pdf sans l’enregistrer (au cas où il y aurait dans le pdf une opération automatique). Sauf qu’effectivement je n’ai pas pensé que l’action pouvait ouvrir d’autres formats de fichiers.
Et pour dirty, il y a une note : If the document is temporary or newly created, setting dirty to false has no effect. That is, the user is still asked to save changes before closing the document.
Je pense qu’il n’y a donc pas de solution ! du moins je ne vois pas, comme ça !!!
@+
:bonjour:
bebarthMaître des clésbonjour,
1) Pour savoir ce que tu peux modifier pour le champ, tu devrais à peu près tous trouver à cette adresse :
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FField_properties.htm
Regarde fillColor pour le fond et textFont pour la police. je ne suis pas expert en police, alors les police « standard » ça va, mais les autres je ne sais pas comment les appeler…
Tu peux aussi modifier d’autres paramètres !!!
Ensuite, tu met tes nouveaux paramètres avec les autres, en dessous de // Construction du champ texte
f.fillColor = …2) Lorsque tu choisi le dossier « A Traiter » pour ton action, même les fichiers autres que pdf sont indiqués, mais seuls les fichiers « PG.pdf » sont traités.
3) pour modifier l’action, tu fais clique droit sur l’action et modifier… (tu gardes le fichier .sequ de côté, au cas où…).
@+
:bonjour:
bebarthMaître des clésbonjour,
Pour ce qui est des listes déroulantes il y avait un minimum d’adaptations à apporter !!!
Les noms des champs doivent être identiques à ceux indiqués dans le script (pas d’espace) !
Idem pour les listes, si le script indique « if (this.getField(« Police1 »).value != « Choisissez une police »… » il ne faut pas que dans les listes on indique seulement « Choisissez » !!!
Dans le fichier joint, j’ai donc fait ces modifications, plus « Indiquez la valeur sélectionnée immédiatement » pour que l’affichage se fasse immédiatement lorsque l’on relâche la souris,
et j’ai également affiché/masqué les textes au dessus de ces listes.
@+
:bonjour:
bebarthMaître des clésbonjour,
…et que dit la console ??? :Euuuh:
Comme je l’ai indiqué, l’action ne fonctionne que dans le meilleur des mondes, et dans ce monde là, il y a un « T » majuscule dans le nom du dossier « A Traiter ».
Le script vérifie que les dossiers et fichiers sont bien dans ce répertoire, s’ils ne le sont pas, l’action ne fonctionne pas. Mais comme je l’ai dit dans mon message précédent :…je n’ai pas traité toutes les conditions avec renvoi d’un message s’il y a erreur…
Je re-joins un fichier action ou j’ai sorti quelques lignes d’une boucle,
Je joint également un fichier avec le code javascript.
@+
:bonjour:
bebarthMaître des clésbonjour,
ça avance bien, je devrais pouvoir te proposer quelque chose demain.
Je traduis, ça voulais dire « j’en ai marre pour ce soir et je vais me coucher ! » :geek:
Voici donc le résultat : Une action qui fonctionne, mais uniquement dans le meilleur des mondes.
Ce qui signifie que je n’ai pas traité toutes les conditions avec renvoi d’un message s’il y a erreur…
Il te faut un dossier « A Traiter » à peut près n’importe où tu à les permissions d’écriture, mais il ne doit pas y avoir de caractères accentués ou caractères spéciaux dans le chemin d’accès du fichier. J’ai déjà traité le cas dans un script précédent, et ce n’est pas facile à gérer.
Tu lances donc l’action, puis tu va « Ajouter un dossier… » et tu sélectionnes le dossier « A Traiter ». Tous les fichiers pdf vont alors être ajoutés à la liste, mais uniquement les fichier « PG.pdf » seront traités.
Le fichier « Instructions.pdf » ainsi qu’un dossier « Fichiers Assembles » (sans accent) doivent être directement sous « A Traiter ».
Tu essaies et tu me dis ! L’action fonctionne très bien sur mes 2 Mac’s.
Il y aurait certainement la possibilité d’ajouter et d’améliorer certaines choses. On verra plus tard, si cette action te convient déjà.
@+
:bonjour:
bebarthMaître des clésbonjour,
…j’ai copié ce code java…
Utilisons les bons termes : http://abracadabrapdf.net/forum/index.php/topic,2160.0.html
Les codes javascript sont donc à placer en « script de calcul personnalisé » des champs « Police2 » et « Couleur2 » (cf. fichier précédemment joint).
@+
:bonjour:
bebarthMaître des clésbonsoir,
ça avance bien, je devrais pouvoir te proposer quelque chose demain.
@+
:bonjour:
bebarthMaître des clésbonjour,
Désolé, mais je n’ai pas eu le temps aujourd’hui de regarder ton problème. J’essaie ce soir ou demain.
Questions :
Tu as donné les noms de fichiers dans l’ordre ?
Les fichiers sont tous toujours différents ? Le fichier PG n’est pas commun des fois !Au sujet du pied de page, c’est toujours le même ? sur toutes les pages ? toutes les pages sont au même format ? A4 ou….
@+
:bonjour:
bebarthMaître des clésbonjour,
Pour la question 1 :
if (this.getField(« Couleur1 »).value != « Choisissez une couleur » && this.getField(« Couleur2 »).value != « Choisissez une couleur ») {this.event.target.display=display.hidden}
else {this.event.target.display=display.visible}
pour le champ « Police2 » et même principe pour le champ « Couleur2 »Pour la question 2 :
Comment sait-on que c’est la date du jour de fin de remplissage du formulaire ?@+
:bonjour:
bebarthMaître des clésbonsoir,
A première vue, ça ne semble pas irréalisable… peut-être pas si facile que ça, mais ça vaut le coup d’essayer !!!
Que sont les noms des dossiers qui se trouvent dans « A traiter » ? Y a-t-il une récurrence ??? un numéro d’ordre ??? le nom peut être n’importe quoi ???
Idem pour les fichier A, B et C ! Est-ce réellement leurs noms ???
Quel est le bas de page ??? image, texte…
Ou doit-être enregistré le fichier assemblé ?
De tous ces critères dépendra la complexité du script à écrire.
Si tu as un dossier avec des fichiers à poster comme exemple, c’est encore mieux !
@+
:bonjour:
bebarthMaître des clésbonjour,
…de rajouter ou d’enlever a une date un nombre pour donner une nouvelle date.
??? un nombre de quoi ? de jours ???
Le champs nombre n’étant pas dans une cellule il faut le mettre dans le script.
Ça j’ai pas compris !!!
Aurais-tu un fichier à poster ?
@+
:bonjour:
bebarthMaître des clésbonjour,
Je vois déjà la remarque de Merlin :
==> http://abracadabrapdf.net/forum/index.php/topic,2160.msg10980.html#msg10980 :Smiley01:par contre, la pièce jointe n’a pas dû fonctionner !!!
@+
:bonjour:
bebarthMaître des clésre-bonjour,
Après recherche il faiut utiliser event.richValue en script de format (cf. champ « Text4 » dans le fichier joint).
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2Fevent_properties.htm%23TOC_richValuebc-12&rhtocid=_6_1_8_27_4_11
@+
:bonjour:
bebarthMaître des clésbonjour,
Pour voir ce qui pourrait être faisable, te serait-il possible de poster un fichier avec le/les champs !!!
Sinon, pour ce que j’ai fait, il faut aller voir le script de calcul du champ « Text1 ».
@+
:bonjour:
bebarthMaître des clésbonjour,
Voici une version « plus compliquée » ou c’est le texte lui-même qui est souligné, mais je n’arrive pas à l’appliquer au champ lui-même…
Après, on peut toujours afficher ou masquer les champs suivant la valeur mais est-ce que ça vaut le coup ???
Si des fois il y avait possibilité d’appliquer le script au champ lui-même, ça m’intéresse !
@+
:bonjour:
bebarthMaître des clésSi c’est un fichier d’Alex, c’est du sérieux… c’est ce qu’il y a de mieux en terme de javascript !
par comme je n’y connais rien comment fait-on pour initialiser toutes les données des personnes ? à quel endroit du pdf
…il faut modifier le Script javascript du document !
@+
:bonjour:
bebarthMaître des clésNon, c’est moi qui ait effacé du code sans le faire exprès !!!
…voilà ce que c’est de ne pas tester avant !!!
@+
:bonjour:
bebarthMaître des clésbonjour,
Ne serait-ce pas quelque chose comme ça que tu cherches à faire ?
@+
:bonjour:
bebarthMaître des clésbonsoir,
Il faut mettre 2 signes « = » -> if (a.display == display.hidden)…
C’est bien ce que tu voulais ?
@+
:bonjour:15 novembre 2016 à 19:15 en réponse à : Commentaires : comment supprimer la date et l’heure ? #61616
bebarthMaître des clésbonsoir,
j’ai téléchargé le fichier du forum et installé l’action. Le fichier ne semble pas endommagé.
Est-ce bien Adobe Acrobat Pro Mac ?
@+
:bonjour:15 novembre 2016 à 10:58 en réponse à : Commentaires : comment supprimer la date et l’heure ? #61612
bebarthMaître des clésMerci Merlin,
et je note pour l’insertion de code dans les posts !
Il y a bien un historique de révision, mais je n’ai jamais rien vu marqué dedans… je ne sais pas comment ça marche (je n’ai pas cherché, non plus !).
@+
:bonjour:15 novembre 2016 à 07:45 en réponse à : Commentaires : comment supprimer la date et l’heure ? #61609
bebarthMaître des clésbonjour,
Si vous copiez/collez les scripts ci-dessous, ils ne fonctionneront pas, car il devrait y avoir un « i » entre crochets « [ ] » qui est compris dans le post comme « italique » !!!Il faut donc modifier la ligne (selon le script choisi) par :
for (i = 0; i < annots.length; i++) annots["i"].setProps({modDate: new Date()}); // sans les guillemets avant/après le i
ou
for (i = 0; i < annots.length; i++) annots["i"].setProps({modDate: new Date(maDate)}); // sans les guillemets avant/après le i…ou bien télécharger et importer les actions, ou le fichier javascript.
@+
:bonjour:14 novembre 2016 à 21:29 en réponse à : Commentaires : comment supprimer la date et l’heure ? #61608
bebarthMaître des clés…et voici une variante ou l’on peut choisir la date et l’heure à indiquer :
Code:var dateActuelle=new Date();
var dateActu0 = util.scand(« dd/mm/yyyy », dateActuelle);
var dateActu1 = util.printd(« mm/dd/yyyy HH:MM », dateActu0);
//Questions
var maDate = app.response({
cQuestion: « Date sous la forme « dd/mm/yyyy HH:MM » »,
cTitle: « Date des commentaires »,
cLabel: « La date indiquée sera : »,
cDefault: dateActu1,
});
for (j = 0; j < numPages; j++) {
var annots = this.getAnnots({nPage: j});
for (i = 0; i < annots.length; i++) annots[i].setProps({modDate: new Date(maDate)});
}@+
:bonjour:14 novembre 2016 à 20:50 en réponse à : Commentaires : comment supprimer la date et l’heure ? #61607
bebarthMaître des clésbonsoir,
Je te propose de modifier toutes les dates des commentaires. Il suffit de créer une action avec un petit bout de javascript :Code:for (j = 0; j < numPages; j++) {
var annots = this.getAnnots({nPage: j});
for (i = 0; i < annots.length; i++) annots[i].setProps({modDate: new Date()});
}Tu lanceras cette action lorsque tu as terminé tes commentaires, et ils deviendront tous datés à l’heure du lancement de l’action.
Je place l’action en pièce jointe si tu n’est pas familiarisée avec les actions. Il te suffit de double cliquer sur le fichier décompressé et l’action se placera dans Acrobat. Il n’y aura plus qu’à la lancer lorsque tu en auras besoin.
Cela te convient-il ?
@+
:bonjour:
bebarthMaître des clésbonsoir,
essaie ça :
var date_FR = this.getField(« Date_Francaise »).value;
var date_US = util.scand(« dd mm, yyyy », date_FR);
event.value = util.printd(« mm/dd/yyyy », date_US);et pour info :
https://acrobatusers.com/tutorials/date_time_part1
https://acrobatusers.com/tutorials/date_time_part2
https://acrobatusers.com/tutorials/working-date-and-time-acrobat-javascript-part-3-3
@+
:bonjour:
bebarthMaître des clés:doute:
ça ne fonctionne pas sur iPhone en tout cas !!!
@+
:bonjour:
bebarthMaître des clés…j’ai rajouté this.dirty=false; si on ne veux pas sauvegarder à chaque fois !
@+
:bonjour:10 novembre 2016 à 13:26 en réponse à : Adobe Live Cycle Designer (ES2) – Problème avec le "Submit Form" #61600
bebarthMaître des clésbonjour,
Personnellement, je ne connais pas Adobe Live Cycle Designer, et je pense que Merlin devrait pouvoir te répondre plus précisément.
Par contre, si tu post un fichier pdf exemple, je peux regarder s’il est possible de modifier l’adresse d’envoi !
@+
:bonjour:
bebarthMaître des clésbonjour,
…et pourquoi pas avec une page modèle ???
@+
:bonjour:9 novembre 2016 à 09:15 en réponse à : Bouton d’envoi avec liste déroulante avec choix multiple #61589
bebarthMaître des clésbonjour,
…ça me rappelle quelque chose !!!
1) il faudrait « valider immédiatement les valeurs sélectionnées » de la liste
2) on est pas obligé de mettre les adresses dans un autre champ (caché/vu) il suffit d’utiliser la valeur d’exportation de la liste.
ça te va ?
@+
:bonjour:26 octobre 2016 à 14:50 en réponse à : Restreindre un champ de remplissage à du texte uniquement #61531
bebarthMaître des clésvoir fichier joint.
@+
:bonjour:26 octobre 2016 à 14:34 en réponse à : Restreindre un champ de remplissage à du texte uniquement #61529
bebarthMaître des clésbonjour,
En script de touches personnalisé, tu mets :
var regxp=/^[a-zA-Z]$/; // ici tu indique les plages de caractères acceptés
if (event.willCommit==false)
{
if (event.change.length>0 && regxp.test(event.change)==false)
{
app.beep();
event.rc=false
}
}
@+ (ce n’est pas dans le script !!!) :geek:
:bonjour:
bebarthMaître des clés??? désolé, je ne sais quoi répondre !!!
…et en impression via le menu tout fonctionne bien ?
J’ai fait un essai sur mon imprimante et toutes les copies sortent du même bac de papier sélectionné… :Euuuh:
@+
:bonjour:
bebarthMaître des clés
bebarthMaître des clés…voici le document.
Puisqu’on indique qu’un seul paramètre à « print » false ou true on ne mentionne pas que c’est bUI, mais c’est bien celui là !
Dans ce nouveau document, par contre, il y a le message « une tentative d’impression… » et je crois qu’il ne peut-être supprimer !
@+
:bonjour:
bebarthMaître des clés…bUI: true!!!
voici un nouveau fichier, par contre il ouvre la fenêtre à chaque copie.
Si ça t’intéresse, je peux modifier le script pour qu’il l’ouvre uniquement la première fois pour des copies multiples.
tu me dis !
@+
:bonjour:
bebarthMaître des clésbonjour,
ci-joint un fichier avec bouton d’impression qui pourra peut-être t’être utile.
@+
:bonjour:
bebarthMaître des clésbonjour,
Je confirme, j’ai sous-traité à Jean-Renaud Boulay un travail il y a quelques années et le résultat était parfait !… et la plus faible…
Ne fallait-il pas lire « … la plus fiable… » ? :geek:
@+
:bonjour:14 octobre 2016 à 13:08 en réponse à : Extraire des pages d’un PDF et les enregistrer dans un seul PDF sauvegardable #61473
bebarthMaître des clésmerci Merlin !
c’est vrai qu’il y a un peu de pub, mais c’est bien pratique quand même…
Je viens même de m’apercevoir que l’on peut supprimer certaines parties de textes (publier sur facebook, etc.) ce qui va bien m’éclaircir mes fichiers et impression ! bien sûr, il faut prendre le temps de supprimer ces textes.
@+
:bonjour:
bebarthMaître des clésbonjour,
…et après avoir tout lu, s’il te reste 1 ou 2 soucis, joint ton fichier. C’est plus facile pour répondre et intégrer directement les scripts nécessaires avec les noms de champs corrects !
@+
:bonjour:14 octobre 2016 à 12:55 en réponse à : Bouton qui ne fonctionne plus (avec envoi de mail et menu déroulant) #61490
bebarthMaître des clésbonjour,
Personnellement je n’ai pas tout compris :Euuuh: aussi si tu peux joindre le fichier qui fonctionnait et celui qui ne fonctionne pas…
As-tu regardé s’il n’y aurait pas des scripts de document… :idee: « calculTotalLundi() » et autres font appel à des fonctions souvent définies en scripts de document !
@+
:bonjour:10 octobre 2016 à 14:31 en réponse à : Extraire des pages d’un PDF et les enregistrer dans un seul PDF sauvegardable #61471
bebarthMaître des clésbonjour Merlin,
Il n’y a plus la possibilité d’ enregistrer tes tutos au format pdf ??? C’était bien pratique !
@+
:bonjour:
bebarthMaître des clésbonjour,
J’ai oublié de joindre le fichier (seuls les 4 premiers champs ont été modifiés).… en revanche le masque arbitraire ne fonctionne pas…
En fin de compte il n’y a pas besoin de masque puisque la valeur est renvoyée par le script, il suffit de mettre « Aucun format ».
@+
:bonjour:
bebarthMaître des clésbonjour,
Désolé, j’étais absent 2 jours…
Il faudrait ajouter une ligne pour chaque champ de calcul d’heures chantier :
?…
// compute difference in seconds
var fDiff = fEnd – fStart;
if (fDiff<0) fDiff=(24*3600)+(fEnd - fStart);
// convert to rounded minutes
fDiff = Math.round(fDiff / 60);
…Pour info, deux lignes sont répétées, on peut les supprimer une fois :
// convert sEnd string to seconds
var fEnd = Time2Num(‘hh:mm’, sEnd);@+
:bonjour:6 octobre 2016 à 11:18 en réponse à : Changer la couleur de surbrillance d’un champs obligatoire vide ? #61480
bebarthMaître des clésbonjour,
Changer la surbrillance, je ne sais pas, mais on peut changer la couleur du fond !
En script de calcul :
if (this.event.target.required = true && (this.event.target.value== » » || this.event.target.value==null)) this.event.target.fillColor = color.red
else this.event.target.fillColor = color.blue
…tu peux choisir les couleurs que tu veux !!!
Pour les couleurs, voir http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FColor_arrays.htm
et pages suivantes.
@+
:bonjour:
bebarthMaître des clésbonjour,
Voici dans le principe une adaptation du script existant pour additionner les temps. Il y aurait certainement possibilité de « simplifier » les calculs dans ton formulaire mais je n’en ai pas trop (de temps) en ce moment…event.value = »;
// Récupération les temps
var temps1 = this.getField(‘Texte3’).value;
var temps2 = this.getField(‘Texte7’).value;
var temps3 = this.getField(‘Texte86’).value;
var temps4 = this.getField(‘Texte88’).value;
// …// Conversion des temps de chaînes en nombres (secondes)
var secondes1 = Time2Num(‘hh:mm’, temps1);
var secondes2 = Time2Num(‘hh:mm’, temps2);
var secondes3 = Time2Num(‘hh:mm’, temps3);
var secondes4 = Time2Num(‘hh:mm’, temps4);
// …// Somme
var somme = secondes1+ secondes2+ secondes3+ secondes4; //…
// Conversion arrondie en minutes
var enminutes = Math.round(somme/60);// Heures
var heures = Math.floor(enminutes/60);
// Minutes
var minutes = ((enminutes/60) – heures) * 60;// Format des Minutes avec zéro
var min = util.printf(« %,302.0f », minutes);// Construction de la chaîne d’affichage
event.value = heures + ‘:’ + min;est il possible de noter une heure supérieure à 23:59 dans un champ en format HH:MM ?
Il faut créer un masque arbitraire pour le format du champs.
Avec HHHH tu peux aller jusqu’à 9999 heures… HH suffit peut-être !!!
@+
:bonjour:4 octobre 2016 à 18:05 en réponse à : Extraire des pages d’un PDF et les enregistrer dans un seul PDF sauvegardable #61463
bebarthMaître des clésCorrect !!!
J’ai tendance à faire abstraction à Adobe Reader…
@+
:bonjour:4 octobre 2016 à 17:10 en réponse à : Extraire des pages d’un PDF et les enregistrer dans un seul PDF sauvegardable #61461
bebarthMaître des clésbonjour,
Ça ne devrait pas poser de problème, je vais essayer de te faire ça demain matin.
Le bouton « Imprimer » doit faire les 2 actions : « Imprimer » et « Extraire » ?
Lorsqu’on imprime plusieurs fois, on extrait la page le même nombre de fois ???
@+
:bonjour:
bebarthMaître des clésA noter que dans l’exemple
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_properties.htm%23TOC_templatesbc-50&rhtocid=_6_1_8_23_0_49
la ligne
var state = (t.hidden) ?« visible » : « hidden »
doit être
var state = (t.hidden) ? « hidden » : « visible »
@+
:bonjour:
bebarthMaître des clés…mais c’est bien sûr !!!
// Affichage Template
var t = this.getTemplate(« Drawing »);
t.hidden = false;
// Impression
this.print({bUI:false,bShrinkToFit:true,nStart:1});
// Masquage Template
t.hidden = true;
// Pas besoin de sauvegarde
this.dirty=false;merci.
@+
:bonjour:
bebarthMaître des clésFaut-il faire les 2 ?
J’avais essayé this.dirty = false sans remasquer le template car à ce que j’avais compris ça indiquait que le document n’ait pas besoin d’être sauvegardé (…même s’il y avait eu des modifications).Dans mon fichier, je ne montre pas le Template, mais j’ajoute une page… je vais donc voir pour montrer le template !
@+
:bonjour:
bebarthMaître des clés…parce qu’il y a une page « Template » en plus et si on laisse l’utilisateur fermer le document, ça va lui demander d(enregistrer…
:bonjour:
bebarthMaître des clésbon … Merlin (ou quelqu’un d’autre) peux-tu me dire ce que tu penses de mon essai !!!
Ça me fera un peut de travail supplémentaire, mais voilà ce que j’ai trouvé pour l’instant. Avec un script sous Illustrator pour mettre le cadre et un autre sous Acrobat pour créer le Template, ça se fait bien…,
Je duplique mon plan de travail sur Illustrator que je défini « Ajusté au limites de la sélection. Ça me donne donc 2 page sur le fichier pdf. Cette deuxième page je la définie en « Template caché » que je fais ré-apparaître pour l’impression.
Question : que signifie le message « Une tentative d’impression… » ? j’ai déjà imprimé via javascript sans avoir ce message !!!
Je fais apparaître un message pour la fermeture du document, mais s’il y a une solution pour afficher le fichier d’origine sans avoir à enregistrer (à cause du Template…)
Merci pour les commentaires avant que je ne soumette ma solution…
@+
:bonjour:
bebarthMaître des clésBonjour Merlin,
J’ai déjà proposé cette solution, mais ça ne convient pas… On suppose généralement que l’utilisateur ne veut pas se casser la tête avec plusieurs manipulations et que pour qu’une solution soit acceptable on ne doit avoir qu’un seul clique !!!
@+
:bonjour:
bebarthMaître des clés:Euuuh: j’ai pas de message d’erreur !!!
As-tu regardé les scripts de tous les champs… :doute:
@+
:bonjour:
bebarthMaître des clés…J’ai bien fait d’utiliser DEVRAIT car je tombe sur un premier problème !
le cadre étant sur un calque, si je masque ce calque la zone « Art » considérée reste la même, et apparemment on ne peut pas supprimer un calque…
Je fais un peu la conversation tout seul, désolé…
@+
:bonjour:
bebarthMaître des clésbon, ben j’ai trouvé comment récupérer la zone de dessin !
donc il ne devrait plus y avoir de problème…// Zone de dessin
var aRect=this.getPageBox({
cBox: « Art »,
});
// Rognage
this.setPageBoxes({
cBox: « Crop »,
rBox: [aRect[0], aRect[1], aRect[2], aRect[3]],
});Je finis le script complet et le post plus tard…
@+
:bonjour:29 septembre 2016 à 06:32 en réponse à : Impossible d’enregistrer le fichier joint dans Acrobat #61440
bebarthMaître des clés:oh:…ça n’a rien fait de plus !!!
Ce n’est pas grave, j’ai demandé le fichier.
@+
:bonjour:28 septembre 2016 à 09:08 en réponse à : Afficher un champs après la validation de deux autres champs #61434
bebarthMaître des clésbonjour,
Sur le fichier joint, tu ne pourras imprimer que si les 2 champs texte sont renseignés…
@+
:bonjour:28 septembre 2016 à 08:58 en réponse à : Impossible d’enregistrer le fichier joint dans Acrobat #61438
bebarthMaître des clésMerci Merlin,
J’ai essayé de désactiver « Activer la protection renforcée », mais cela n’a rien changé !
Je vais donc demander qu’on m’envoie le fichier de l’image (non intégré !).
@+
:bonjour:28 septembre 2016 à 05:39 en réponse à : Afficher un champs après la validation de deux autres champs #61428
bebarthMaître des clésTu es rude avec les nouveaux. :Smiley08:
Je n’ai pas voulu être rude, je n’avais pas vu dans un premier temps qu’un fichier était joint… :joker:
@+
:bonjour:
bebarthMaître des clésbonjour,
Il y a plusieurs choses à faire :- remplacer « TimeIn.0 » par « Texte1 » et « TimeOut.0 » par « Texte2 »
- indiquer le format des champs en « Heure »
- ajouter le script de document « Time2Num »
[/list]
et ça devrait fonctionner !!!
@+
:bonjour:27 septembre 2016 à 13:56 en réponse à : Afficher un champs après la validation de deux autres champs #61423
bebarthMaître des clésbonjour,
Désolé mais il va falloir bosser un peu car dans un premier temps je n’avais pas vu qu’il y avait un fichier joint…
Si tu n’y arrives pas, j’adapterai ton fichier plus tard !!!
Pour ce qui est de la liste, je pense qu’il faut faire apparaître un champ si « Autre… » est sélectionné dans la liste.
@+
:bonjour:
bebarthMaître des clésbonjour,
Si j’ai bien compris ce que tu veux, en script de calcul du champ ListeNiveau3, tu mets:
event.value= » »;
if (this.getField(« ListeNiveau2″).value== »Autre ») event.value= »Autre »;
@+
:bonjour:
bebarthMaître des clés:bravo: Bravo Merlin,
Ce calendrier s’intègre très facilement au formulaire !
@+
:bonjour:
bebarthMaître des clésotherDoc.addScript(« ouverture », « app.execMenuItem(« ShowHideOptCont« );app.execMenuItem(« FitPage« ); »);
bonjour,
app.execMenuItem(« FitPage ») fonctionne à l’ouverture du document avec Mountain Lion (OSX 10.
mais ne fonctionne plus avec El Capitan (OSX 10.11) et ce, avec la même version Acrobat XI.
Ce qui est étrange, c’est que le script de document a bien été créé, et que ce script fonctionne lorsqu’on referme la fenêtre d’outils « Scripts Javascript du document ». Ce qui pour moi signifie que cette commande est comprise par le système, et du coup c’est moi qui ne comprend pas !!! :geek:@+
:bonjour:21 septembre 2016 à 11:55 en réponse à : Supprimer le dossier de calques d’un PDF fait avec InDesign #61388
bebarthMaître des clésMerci Merlin,
J’ai utilisé ton script qui marche nickel !
@+
:bonjour:21 septembre 2016 à 10:04 en réponse à : Supprimer le dossier de calques d’un PDF fait avec InDesign #61386
bebarthMaître des clésMerlin,
J’ai refait mon fichier pdf, et maintenant je n’ai plus ce problème. Les différents calques apparaissent directement.
Je ne sais pas ce que « j’avais boutiqué ». :Euuuh:
@+
:bonjour:21 septembre 2016 à 09:20 en réponse à : Supprimer le dossier de calques d’un PDF fait avec InDesign #61385
bebarthMaître des clés…non, lorsque j’ouvre mon fichier je vois « Fiche Patient.pdf » et non les calques !!!
@+
:bonjour:
bebarthMaître des clésMerci Merlin,
J’ai vu un exemple sur le web où l’on disait de mettre un backslash (ou barre oblique inversée :geek:) avant les guillemets, mais rien au sujet des parenthèses… et à cette heure tardive, ça ne m’est pas venu à l’esprit d’essayer !
@+
:bonjour:
bebarthMaître des clésbonsoir,
j’arrive à la fin de mon projet, après avoir supprimé les scripts il ne me reste plus qu’a définir les options d’ouverture et je voudrais donc rajouter un script de document :
otherDoc.addScript(« ouverture », « app.execMenuItem(« ShowHideOptCont »);app.execMenuItem(« FitPage »); »);
sauf que la console m’indique une erreur de syntaxe « ) » et je ne trouve pas ou !!!
une idée ??
Merci.
:bonjour:
bebarthMaître des clésbonjour,
Peut-on avoir un fichier avec la partie concernée ?
@+
:bonjour:
bebarthMaître des clés…sur InDesign, lorsque tu importes un fichier multi-pages .pdf, tu dois bien placer chaque page sur une page de InDesign « manuellement ».
Alors que si sur la première page d’importation tu maintiens la touche option, toutes les pages du pdf sont importées sur cette page !!!
@+
:bonjour:
bebarthMaître des clésMerci Merlin,
Je ne connaissais pas et étais curieux de savoir comment importer 1000 pages sans avoir à les placer une par une !
J’ai essayé plusieurs combinaisons de touches pour voir s’il y avait une solution, mais non…
Je me demande d’ailleurs à quoi ça sert d’importer toutes les pages d’un pdf sur une seule et même page lorsqu’on maintient la touche option.
@+
:bonjour:
bebarthMaître des clésbonjour,
J’ai déjà fait l’opération inverse, mais pas dans ce sens…
http://abracadabrapdf.net/forum/index.php/topic,2989.msg16924.html#msg16924Autant l’opération est faisable « manuellement » pour quelques pages, mais l’automatiser pour mille pages…. !!!
Je n’ai pas beaucoup de temps à consacrer aujourd’hui, mais j’ai trouvé une page où je n’ai pas tout lu :
https://forums.adobe.com/thread/711593
peut-être y a-t-il quelque chose d’intéressant !@+
:bonjour:
bebarthMaître des clésbonjour,
Je ne sais pas si j’ai pas tout compris, mais ça à l’air de fonctionner !!!
@+
:bonjour:
bebarthMaître des clésMerci Merlin,
J’avais déjà lu ton article et je pense que j’ai à peu près tout compris :geek:.
Quand je parle de « specialiste » je pense surtout à « beginPriv » qui d’après ce que je comprend augmente le privilège, et au « trsted functions »…
si tu as article là dessus !!!
Merci
:bonjour:
bebarthMaître des clésbonsoir,
J’utilise ce script avec une action (Outils -> Assistant Action). Il ne fonctionne pas avec un champ de formulaire.
Je ne suis pas un spécialiste en permissions et privilège, Merlin sera certainement plus à même à t’expliquer !
A mon avis il doit falloir déclarer une « trusted function »…
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2Fapp_methods.htm%23TOC_execMenuItembc-12&rhtocid=_6_1_8_6_1_11
http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2Fapp_methods.htm%23TOC_trustedFunctionbc-36&rhtocid=_6_1_8_6_1_35
Je suivrai le post car ça m’intéresse aussi.
@+
:bonjour:
bebarthMaître des clésbonjour,
C’est effectivement très intéressant, et j’en profite pour revenir sur un post :
http://abracadabrapdf.net/forum/index.php/topic,3037.msg17388.html#msg17388Si on adapte le script « Saving to a different file name, folder, and format » comme ceci :
var nmFichier = this.documentFileName;
// Split Path into an array so it is easy to work with
var aMyPath = this.path.split(« / »);
// Remove old file name
aMyPath.pop();
// Add new file name
aMyPath.push(nmFichier);
// Put path back together and save
this.saveAs(aMyPath.join(« / »));…ça équivaut à faire un « Enregistrer » (j’ai testé) et là, plus besoin de fichier temporaire… :extra:
@+
:bonjour:
bebarthMaître des clés…pour effacer les scripts de document avec this.removeScript, on est obligé de les supprimer un par un ???
J’ai essayé this.removeScript() pour tous les supprimer mais ça ne fonctionne pas. Il me semblait pourtant…
@+
:bonjour:
bebarthMaître des clés…Est-il possible de savoir si le fichier a déjà été aplati,…
Je me répond à moi-même : il suffit de vérifier que this.numFields = 0 !!!
@+
:bonjour:
bebarthMaître des clés…je réfléchi, parce que ça fait une action de plus à effectuer, et pour l’utilisateur c’est toujours une action de trop !!!
En fait, je génère les factures à partir des fichiers des patients de ma fille qui est ostéo, et je souhaite aplatir et retirer les scripts de ces fichiers factures.
Je peux donc créer également une action sur tout un répertoire qu’elle pourrait ne lancer qu’une fois de temps en temps. Est-il possible de savoir si le fichier a déjà été aplati, ou s’il existe des scripts dans ce fichier pour éviter de réenregistrer des fichiers sans rien effectuer dessus…
J’espère avoir été assez clair !
@+
:bonjour:
bebarthMaître des clés…je pensais plutôt lancer l’action du signet via l’outil action :idee: mais j’ai peur que ce ne soit pas possible.
Je vais donc dans mon action afficher le panneau signet et un message indiquant qu’il faut cliquer sur le signet pour continuer.
C’est pas encore fait mais je pense que ça devrait le faire…
@+
:bonjour:
bebarthMaître des clésbonjour,
Après quelques recherches, j’ai peur que ce ne soit pas possible, du moins directement…
https://answers.acrobatusers.com/I-am-a-beginner-help-with-code-q294603.aspx
Le seul moyen est (ou serait) de créer un signet où là, c’est possible !
J’ai essayé « manuellement » étape par étape ce que je voudrais faire et ça fonctionne.
Je vais essayer d’intégrer tout ça dans une action maintenant… :jerisjaune: …mais comment (et peut-on) lancer l’action d’un signet via un script ou une action ???
@+
:bonjour:
bebarthMaître des clés…c’est toujours pareil !
Si l’on déclare app.openInPlace = true ou false en script d’ouverture de document, ça devrait changer les préférences lorsqu’on ouvre le fichier, non ?
Ça n’a pas l’air de fonctionner…
@+
:bonjour:
bebarthMaître des clés…pour l’instant je n’arrive pas à utiliser app.openInPlace, ça m’ouvre toujours le second fichier dans une autre fenêtre…
:mur:
bebarthMaître des clésEffectivement, mais à ce que j’ai compris les actions sont liées directement à la fenêtre du fichier. Si on ferme la fenêtre d’où est lancée l’action on a un message qui indique que l’action n’est pas terminée…
Aussi, je me demandais s’il n’était pas possible de faire quelque chose avec app.openInPlace mais je n’ai pas tout compris pour l’instant !!!
@+
:bonjour:
bebarthMaître des clés…oui, mais seulement du fichier ouvert au premier plan !
Je souhaiterais donc passer la page extraire au premier plan pour pouvoir supprimer les scripts.
@+
:bonjour:
bebarthMaître des clésbonjour Merlin,
:Euuuh: L’action est exécutée sur le fichier en premier plan (this) ce qui paraît normal.Lorsque j’ouvre ma page extraite avec otherDoc=app.openDoc… et que j’applique l’action, cela me nettoie bien les scripts… mais de mon fichier complet (et non de la page extraite).
Il me semble avoir déja vu dans l’api reference une commande pour intervertir les fenêtres, mais je ne retrouve pas.
Sinon aurais-tu une autre solution ?
Merci.
:bonjour:
bebarthMaître des cléscomme ça j’ai compris 😉
…et pas de problème pour l’enregistrement des préférences !
merci.
:bonjour: -
AuteurRéponses
