Donnez vie à vos documents numériques !
 

bebarth

Toutes mes réponses sur les forums

Affichage de 99 réponses de 2,674 à 2,772 (sur un total de 3,242)
  • Auteur
    Réponses
  • en réponse à : Pages modèles et… spawn qui peut #62105
    bebarth
    Maître des clés

    Dans la proposition précédente, on appelait la page modèle selon son ordre, ce qui était peut-être contraignant.
    Dans cette nouvelle version, on l’appelle via son nom, ce qui permet d’être plus souple sur l’ordre de création des pages modèles.
    @+
    :bonjour:

    en réponse à : Message par défaut pour des champs heures #61928
    bebarth
    Maître des clés

    …et je préciserais si besoin :
    || pour OU
    && pour ET
    @+
    :bonjour:

    en réponse à : Impression des annotations par script #62097
    bebarth
    Maître des clés

    @ Merlin : le script actuel de mon fichier, installé sur un autre PC, fonctionne correctement. :Euuuh:

    …ça ne fonctionnait pas non plus sur mon Mac !
    @+
    :bonjour:

    en réponse à : Pages modèles et… spawn qui peut #62100
    bebarth
    Maître des clés

    bonjour,
    Ci-joint un fichier qui je l’espère correspond à ce que tu désirait !
    Au pire, tu pourras peut-être t’en inspirer.
    @+
    :bonjour:

    en réponse à : Valeur dans un champ suite à un calcul #62086
    bebarth
    Maître des clés

    Je m’explique, une valeur dans le champ où est la fonction et une valeur dans un autre champ ?

    pour le champ où est la fonction : this.event.value=uneValeur;
    pour un autre champ : this.getField(“NonduChamp”).value=uneAutreValeur;

    Pour ce qui est  du script de document du fichier, il y a des choses que je ne comprends pas. Pourquoi effectuer des opérations avant de vérifier des conditions : par exemple la condition minimum est heure2minutes ? heure1minute, et les calculs sont effectuer avnt de vérifier if (total >=0)…
    Je ne comprends pas non plus ce que tu as voulu faire avec “event.target.name.replace(“choix_maintien_heures”,””);”

    @+
    :bonjour:

    en réponse à : Valeur dans un champ suite à un calcul #62083
    bebarth
    Maître des clés

    bonjour,
    Il faudrait que je reprenne à le script à zéro car il y a 1 ou 2 trucs que je ne comprends pas dans son déroulement. J’ai l’impression qu’il y a des choses inutiles !
    Je vais voir si je trouve un moment…
    @+
    :bonjour:

    en réponse à : Impression des annotations par script #62094
    bebarth
    Maître des clés

    bonjour,
    Ça fonctionne avec les paramètres de l’imprimante :
    http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FPrintParams_properties.htm

    var pp = this.getPrintParams();
    pp.interactive = pp.constants.interactionLevel.silent;
    pp.printContent = pp.constants.printContents.docAndComments;
    this.print(pp);

    @+
    :bonjour:

    en réponse à : Valeur dans un champ suite à un calcul #62081
    bebarth
    Maître des clés

    …il y a 2 lignes modifiées dans chaque script de document (indiquées par “// Changer ici”).
    J’ai mis un “0” mais on peut mettre “titi”, “tata”, ou évidemment “toto” !!!
    Je ne suis pas penché sur le reste du script !
    @+
    :bonjour:

    en réponse à : Valeur dans un champ suite à un calcul #62079
    bebarth
    Maître des clés

    bonjour,
    j’ai jeté un coup d’oeil vite fait, et c’est un peu le b….
    On trouve du “deduction_heures_option” du “déduction_heures_option” et du “deduction_heures”.
    Je pense qu’il faudrait un peu revoir tout ça, mais c’est pas tout simple comme script, ça demande un peu de temps, et faut trouver le temps…
    @+
    :bonjour:

    en réponse à : Redéfinir le niveau zoom de l’ensemble des signets #62071
    bebarth
    Maître des clés

    bonjour,
    je te propose un script à placer en action :

    Code:
    function BookmarkfitP(bkm, nLevel) {
    bkm.execute();
    bkm.setAction(“this.pageNum = “+this.pageNum+”;this.zoomType = zoomtype.fitP;”);
    if (bkm.children != null)
    for (var i = 0; i < bkm.children.length; i++)
    BookmarkfitP(bkm.children, nLevel + 1);
    }
    BookmarkfitP(this.bookmarkRoot, 0);

    @+
    :bonjour:

    en réponse à : Création d’un script d’enregistrement automatique #61337
    bebarth
    Maître des clés

    bonsoir,
    La touche “Entrée” n’est pas la touche “Retour”…
    Si tu n’as pas de clavier avec pavé numérique, il faut appuyer simultanément les touches “commande” (cmd) et “Retour” !
    @+
    :bonjour:

    en réponse à : Création d’un script d’enregistrement automatique #61334
    bebarth
    Maître des clés

    bonjour,
    Pour atteindre le dossier JavaScripts d’Acrobat sur Mac, tu fais un clique droit sur l’application, puis “Afficher le contenu du paquet” -> Contents -> Resources -> JavaScripts.
    Dans ce dossier, tu places ton fichier .js
    Il faut faire cette manipulation avec Acrobat fermé évidemment afin d’exécuter le script au lancement d’Acrobat.
    @+
    :bonjour:

    en réponse à : Comment simuler l’action "champ désactivé" depuis un script #62063
    bebarth
    Maître des clés

    bonjour,
    Peux-tu joindre un fichier ?
    @+
    :bonjour:

    en réponse à : Comment simuler l’action "champ désactivé" depuis un script #62061
    bebarth
    Maître des clés
    en réponse à : Message par défaut pour des champs heures #61925
    bebarth
    Maître des clés

    bonsoir,
    Voici l’adaptation d’un script d’un post précédent.
    Il y aura peut-être des conditions à tester (horaire 1 doit être <  horaire 2...).
    @+
    :bonjour:

    en réponse à : Ajout dynamique #61942
    bebarth
    Maître des clés

    bonjour,
    Pour 5 lieux, on peut aussi faire apparaitre un menu popup :
    var menuPop = app.popUpMenu(‘Lieu 1′,’Lieu 2′,’Lieu 3′,’Lieu 4′,’Lieu 5’);
    if (menuPop!=null) {event.target.value = menuPop;}
    @+
    :bonjour:

    en réponse à : Alerte légitime mais gênante lors d’un this.reset.Form #61908
    bebarth
    Maître des clés

    bonsoir,
    je pense que le plus simple pour bien comprendre serait de poster un exemple !
    @+
    :bonjour:

    en réponse à : champ liste avec lien champ texte #61897
    bebarth
    Maître des clés

    Merci Merlin,  :extra:
    Je n’avais pas encore travaillé avec des fichiers en pièces jointes.
    Je garde donc ton exemple pour un éventuel besoin futur !
    @+
    :bonjour:

    en réponse à : champ liste avec lien champ texte #61894
    bebarth
    Maître des clés

    bonsoir,
    Ici les textes ne sont pas en pièces jointes mais en script de document.
    @+
    :bonjour:

    bebarth
    Maître des clés

    bonjour,
    On appelle ça des listes “mère-fille” et il y a pas mal de posts qui traitent ce sujet.
    Ci-joint une adaptation pour ton problème avec quelques explications.
    @+
    :bonjour:

    en réponse à : champ liste avec lien champ texte #61892
    bebarth
    Maître des clés

    bonne année à toi aussi Merlin,
    …et surtout merci pour ton utilitaire “abra-Txt2Unicode” !
    Je voulais ajuster le champ en fonction de la longueur du texte, j’ai regardé vite-fait mais je n’ai pas trouvé !
    Par contre, en cherchant, j’ai appris que si l’on règle un corps de texte à “0”, le texte s’adapte à la longueur du champ…
    @+
    :bonjour:

    en réponse à : champ liste avec lien champ texte #61890
    bebarth
    Maître des clés

    bonjour,
    …genre comme ça ?  :geek:
    @+
    :bonjour:

    en réponse à : Apparition page 2 en fonction sélection page 1 #61899
    bebarth
    Maître des clés

    bonjour,
    …et bonne année !!!
    @+
    :bonjour:

    en réponse à : champ liste avec lien champ texte #61887
    bebarth
    Maître des clés

    bonsoir,
    Le premier champ indique la valeur d’exportation, et le second le nom de l’éléments.
    A toi de choisir…
    @+
    :bonjour:

    en réponse à : champ liste avec lien champ texte #61885
    bebarth
    Maître des clés

    bonjour,
    Je ne suis pas certain d’avoir bien compris ! Peux-tu poster un fichier avec ta liste déroulante ?
    @+
    :bonjour:

    en réponse à : Calculs conditionnels inopérants #61873
    bebarth
    Maître des clés

    bonjour,
    Ça marchait avec un chiffre ou un nombre, vu que ton script initial indiquait “if (this.getField(“SUPPL”).value >0)”.
    Si tu veux aussi des lettres, tu change la première ligne :
    if (this.getField(“SUPPL”).value !=0 && this.getField(“SUPPL”).value !=”” && this.getField(“SUPPL”).value !=null) {

    mais il faudrait également mettre un format aux champs “carte” et ” SUPPL” pour vérifier l’exactidude des valeurs rentrées !
    @+
    :bonjour:

    en réponse à : Calculs conditionnels inopérants #61871
    bebarth
    Maître des clés

    bonjour,
    c’était presque ça… il manquait juste un “else” !

    if (this.getField(“SUPPL”).value >0) {
    this.event.value = (this.getField(“ST1JS”).value+this.getField(“ST2JS”).value+this.getField(“ST1JD”).value+this.getField(“ST2JD”).value)*0.30
    } else {
    if (this.getField(“Carte”).value >0) {
    this.event.value = (this.getField(“ST1JS”).value+this.getField(“ST2JS”).value+this.getField(“ST1JD”).value+this.getField(“ST2JD”).value)*0.85
    } else {
    this.event.value = this.getField(“ST1JS”).value+this.getField(“ST2JS”).value+this.getField(“ST1JD”).value+this.getField(“ST2JD”).value
    }
    }

    @+
    :bonjour:

    en réponse à : Changement du format de date après saisie #61869
    bebarth
    Maître des clés

    …on peut même supprimer la vérification du format de champ pour le script “champ activé” puisqu’il a été défini lors du script “champ désactivé” !!!  :Euuuh: C’est compréhensible ???  :geek:
    Donc pour “champ activé, il suffit de :

    if (event.target.valueAsString!=””) {
    var d= util.scand(“dd/mm/yyyy”, event.target.valueAsString);
    event.target.value = util.printd(“d mmmm yyyy”, d);
    }

    @+
    :bonjour:

    en réponse à : Changement du format de date après saisie #61867
    bebarth
    Maître des clés

    …tu écris les scripts dans la condition :
    if (event.target.valueAsString!=””) {

    }
    @+
    :bonjour:

    en réponse à : Changement du format de date après saisie #61864
    bebarth
    Maître des clés

    Bonjour,
    Ci-joint une adaptation du script de Merlin.
    @+
    :bonjour:

    en réponse à : Changement du format de date après saisie #61860
    bebarth
    Maître des clés

    Trop Top Merlin,  :extra:
    J’avais pas pensé au champ activé/champ désactivé… J’essayais de cacher/montrer 2 champs : une usine à gaz !
    Et pourquoi “valueAsString” plutôt que “value” ? Les 2 fonctionnent !
    @+
    :bonjour:

    en réponse à : Body avec retours chariot #61854
    bebarth
    Maître des clés

    bonjour,

    Maintenant que tu le dis il me revient qu’un autre membre avait déjà parlé de ce problème dans le forum, je ne sais plus s’il l’avait réglé mais peut-être qu’une petite recherche…  :priere:

    …on en avait effectivement déjà discuté, je m’en souviens maintenant :

    Merlin, sur le fait que pour moi (utilisateur Mac) ces 2 caractères ne fonctionnent pas sur Outlook Mac & PC alors que pour Ancha (PC) ça fonctionne, tu as une piste…

    La console est OK en tout cas !
    @+
    :bonjour:

    en réponse à : Body avec retours chariot #61846
    bebarth
    Maître des clés

    bonjour,
    Le retour ligne, c’est “n”, donc essaie (testé et ça fonctionne !) :
    var fTo = this.getField(“To”);
    var fSubject = this.getField(“Subject”);
    var fBody = this.getField(“Body”);
    var str = fBody.value;
    var fBody = str.replace(” Nom :”, “nNom :”);
    var str = fBody;
    var fBody = str.replace(” Log :”, “nLog :”);
    var str = fBody;
    var fBody = str.replace(” Passe :”, “nPasse :”);
    var str = fBody;
    var fBody = str.replace(” Serveur FTP”, “nServeur FTP”);
    app.mailMsg(true, fTo.value, “”, “”, fSubject.value, fBody);
    @+
    :bonjour:

    en réponse à : Body avec retours chariot #61843
    bebarth
    Maître des clés

    bonjour,
    essaie “%0A” (en hexa) placé directement dans le texte. C’est ce que j’utilise en html mais je ne crois pas l’avoir testé avec le Javascript Acrobat.
    Ça donnerait :
    var fBody=”Cher Monsieur,%0AVeuillez trouver ci-joint…”;
    si tu récupère la valeur d’un champ, il va falloir insérer ce code hexa, mais essaie déjà avec le texte en variable !
    @+
    :bonjour:

    en réponse à : Liste mère et fille #61834
    bebarth
    Maître des clés

    Si je peux te conseiller 2 sites pour t’aider à comprendre le JavaScript :

    En anglais
    http://www.w3schools.com/jsref/default.asp
    et en français
    https://developer.mozilla.org/fr/docs/Web/JavaScript

    @+
    :bonjour:

    en réponse à : Un Script (petit) #61759
    bebarth
    Maître des clés

    bonsoir,
    Ci-joint le fichier .js à placer dans le dossier JavaScripts d’Adobe Acrobat (à décompresser avant !!!).
    Puis tu appelles la fonction avec …Aplatir(), donc si j’ai compris :
    Debug.Print JSO.Aplatir()
    Tu me diras !
    @+
    :bonjour:

    en réponse à : Navigation #61821
    bebarth
    Maître des clés

    On peut même supprimer (2 fois) les lignes :

    default:
    break;

    Elles ne servent à rien et j’ai oublié de les enlever !
    @+
    :bonjour:

    en réponse à : Verrouilage de champ inefficace avec annuler #61750
    bebarth
    Maître des clés

    …ça veut dire que ça marche ?
    @+
    :bonjour:

    en réponse à : Verrouilage de champ inefficace avec annuler #61748
    bebarth
    Maître des clés

    bonjour,
    Que dit la console ???
    Où se trouve le répertoire ou le fichier ? Il y a peut-être un problème de permissions d’écriture !!!
    @+
    :bonjour:

    en réponse à : Navigation #61819
    bebarth
    Maître des clés

    bonjour,
    S’il y a systématiquement un # dans le nom, il faut aussi tester cette condition.
    J’ai remplacé la propriété “hidden” par la propriété “display” comme conseillé par l’api reference.

    // Bouton “Aval”
    var nomChamp=””;
    var laPage=this.pageNum; // Numéro de la page courante
    var allerPage=this.numPages; // Numéro de la page cible, temporairement la dernière page
    for (var i = 0; i < this.numFields; i++) { // Teste tous les champs
    var nomChamp=this.getNthFieldName(i); // Nom du champ testé
    var f = this.getField(nomChamp); // Champ testé
    var str=nomChamp;
    var OK = str.indexOf(“Blanc.”); // Le nom du champ testé contient-il “Blanc.”
    var diese = str.indexOf(“#”); // Le nom du champ testé contient-il “#”
    if (OK > -1 & diese > -1 & f.page>laPage & f.hidden==true) { // Teste 4 conditions :
    // OK > -1 : Le nom du champ testé contient “Blanc.”
    // diese > -1 : Le nom du champ testé contient “#”
    // f.page>laPage: Le numéro de page du champ testé est supérieur à celui de la page courante
    // f.display==display.hidden : Le champ testé (carré planc) n’est pas visible
    var pageToGo = f.page; // Variable temporaire égale au numéro de page du champ testé
    switch (pageToGo < allerPage) { // Cette variable temporaire est-elle inférieure à la page cible ?
    case true: // si OUI
    var allerPage=pageToGo; // Le numéro de la page cible devient celui du champ testé
    this.pageNum=allerPage; // Affichage de la page cible
    break;
    default:
    break;
    }
    }
    }

    // Bouton “Amont”
    var nomChamp=””;
    var laPage=this.pageNum;
    var allerPage=0; // Numéro de la page cible, temporairement la première page
    for (var i = 0; i < this.numFields; i++) {
    var nomChamp=this.getNthFieldName(i);
    var f = this.getField(nomChamp);
    var str=nomChamp;
    var OK = str.indexOf(“Blanc.”);
    var diese = str.indexOf(“#”);
    if (OK > -1 & diese > -1 & f.page // f.page var pageToGo = f.page;
    switch (pageToGo > allerPage) {
    case true:
    var allerPage=pageToGo;
    this.pageNum=allerPage;
    break;
    default:
    break;
    }
    }
    }

    @+
    :bonjour:

    en réponse à : calculer des heures de presences #61797
    bebarth
    Maître des clés

    bonsoir,
    Voici une adaptation d’un script déjà traité dans un post précédent.
    http://abracadabrapdf.net/forum/index.php/topic,3092.msg17935.html#msg17935
    @+
    :bonjour:

    en réponse à : Navigation #61815
    bebarth
    Maître des clés

    bonsoir,
    Est-ce bien cela que tu voulais faire ?
    Les flèches ne renvoient que sur les pages contenant un champ dont le nom comprend “Blanc.” et qui est visible (cf. fichier joint).
    Pour plusieurs centaines de pages, tu copies ces boutons sur la première page et clique droit “dupliquer dans toutes les pages”.
    @+
    :bonjour:

    en réponse à : Automatisation assemblage de PDF #61710
    bebarth
    Maître des clés

    bonsoir,
    Essaye juste de rajouter un “;” en fin de ligne !!!

    f.fillColor = [“CMYK”,0,0,0,0];
    ou
    f.fillColor = color.white;

    @+
    :bonjour:

    en réponse à : Automatisation assemblage de PDF #61708
    bebarth
    Maître des clés

    Merci Merlin,  :extra:

    et pour la police, il faut l’indiquer entre guillemets (testé et ça marche) :
    f.textFont = “OpenSans”; // Police du texte
    @+
    :bonjour:

    en réponse à : Automatisation assemblage de PDF #61706
    bebarth
    Maître des clés

    bonjour,

    f.fillColor = color.blue; // Couleur du fond
    ou
    f.fillColor = [“RGB”,1,1,.855]; // Couleur du fond en RVB
    ou
    f.fillColor = [“CMYK”,0,0,0.2,0]; // Couleur du fond en CMJN

    par exemple, mais pour la police, je ne sais pas !
    f.textFont = font.Helv; pour Helvetica, mais je ne sais pas comment appeler la police OpenSans. Merlin peut-être ???  :Euuuh:

    @+
    :bonjour:

    en réponse à : Récupérer l’action d’un signet #61790
    bebarth
    Maître des clés

    …si ça intéresse quelqu’un !!!

    Code:
    // Document-level or folder-level JavaScript.
    function searchBookmarks(signet, nLevel, signetName) {
    if (signet.name == signetName) return signet;
    if (signet.children != null) {
    for (var i = 0; i < signet.children.length; i++) {
    var bkMark = searchBookmarks(signet.children, nLevel + 1, signetName);
    if (bkMark != null) break;
    }
    return bkMark;
    }
    return null;
    }
    // Redéfini la fonction pour une comparaison plus sophistiquée.
    function signetCompare(name1, name2) {return (name1 == name2);}

    // Recherche
    var signetName = app.response({
    cQuestion: “Nom du signet à trouver :”,
    cTitle: “Recherche et exécution du signet”
    });
    if (signetName != null) {
    var signet = searchBookmarks(this.bookmarkRoot, 0, signetName );
    if (signet != null) {
    signet.execute();
    app.alert(“Le signet “”+ signetName +”” renvoie à la page “+(this.pageNum+1)+”.”,3);
    }
    else app.alert(“Le signet “”+ signetName +”” n’a pas été trouvé.”);
    }

    @+
    :bonjour:

    en réponse à : Problème maintien données Word en PDF #61785
    bebarth
    Maître des clés

    …J’ai également eu des problèmes en générant des pdf à partir de documents initialement .doc et mis à jour en .docx.
    Certaines zones de textes n’apparaissent pas dans les pdf ! Je suis obligé de les ré-enregistrer en .doc pour générer un pdf correct !!!!
    Maintenant que je connais cette astuce, je ré-enregistre systématiquement, mais avant de trouver… et je ne sais toujours pas le pourquoi !  :Euuuh:
    @+
    :bonjour:

    en réponse à : Problème maintien données Word en PDF #61783
    bebarth
    Maître des clés

    bonsoir,
    Sur Word, les pieds de pages sont corrects ? Comment est généré le pdf ?
    Concernant les puces, est-ce un fichier Word PC ouvert sur Mac ou vice versa ? Certaines fois il y a des problèmes avec les polices si Word ne retrouve pas exactement celle du fichier.
    J’en ai rencontré pas mal de problèmes comme ça avec des fichiers Word PC/Mac… mais de moins en moins à vrai dire !!
    @+
    :bonjour:

    en réponse à : Récupérer l’action d’un signet #61788
    bebarth
    Maître des clés

    …je crois que j’ai trouvé… du moins pour mon problème !
    Il suffit d’exécuter le signet avec “execute” et de récupérer le numéro de la page.
    http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FBookmark_methods.htm%23TOC_executebc-2&rhtocid=_6_1_8_8_1_1
    Ça ne résout pas le problème pour toutes les actions possibles, mais pour un renvoi à la page ça fonctionne.
    @+
    :bonjour:

    en réponse à : Un Script (petit) #61757
    bebarth
    Maître des clés

    bonsoir,
    Je crois que je ne comprends pas tout : que sont les commandes que tu peux envoyer via sendkey ? des commandes javascripts ?
    J’ai trouvé ça sur le web, je ne sais pas si ça peut t’être utile…
    http://www.planetpdf.com/forumarchive/155334.asp
    @+
    :bonjour:

    en réponse à : Un Script (petit) #61755
    bebarth
    Maître des clés

    Bonjour,
    Veux-tu aplatir ton document sans l’ouvrir ? Est-ce possible ?  :Euuuh:
    @+
    :bonjour:

    en réponse à : envoi d’un formulaire associé à un mail #61769
    bebarth
    Maître des clés

    bonjour,
    tu changes la ligne en :
    mailDoc(true, fTo.value, “”, “”, fSubject.value, fBody.value);
    @+
    :bonjour:

    en réponse à : Tronquer un chiffre (Résolu) #61767
    bebarth
    Maître des clés

    bonjour,
    essaie avec Math.floor(x) ça devrait fonctionner !
    @+
    :bonjour:

    en réponse à : Documentation d’un projet PDF #61736
    bebarth
    Maître des clés

    Je peux essayer, mais je ne te promets pas de date…
    Je regarde déjà si c’est dans mes cordes !!!
    @+
    :bonjour:

    en réponse à : Documentation d’un projet PDF #61734
    bebarth
    Maître des clés

    bonjour 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:

    en réponse à : Verrouilage de champ inefficace avec annuler #61746
    bebarth
    Maître des clés

    bonjour,
    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 save

    Le fichier est directement enregistré sans avoir à Enregistrer sous… Remplacer…
    @+
    :bonjour:

    en réponse à : Un Script (petit) #61752
    bebarth
    Maître des clés

    bonsoir,
    Pour aplatir toutes les pages d’un document, il faut lancer :
    this.flattenPages();
    @+
    :bonjour:

    en réponse à : Documentation d’un projet PDF #61730
    bebarth
    Maître des clés

    bonjour 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:

    en réponse à : Automatisation assemblage de PDF #61703
    bebarth
    Maî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:

    en réponse à : Documentation d’un projet PDF #61727
    bebarth
    Maître des clés

    bonjour,
    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.htm

    On peu définir l’action d’un champ avec setAction mais la lire, comme ça je ne sais pas !
    @+
    :bonjour:

    en réponse à : Automatisation assemblage de PDF #61702
    bebarth
    Maître des clés

    Le 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:

    en réponse à : Automatisation assemblage de PDF #61700
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Liste déroulante et date #61718
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Automatisation assemblage de PDF #61698
    bebarth
    Maître des clés

    bonjour,
    …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:

    en réponse à : Automatisation assemblage de PDF #61696
    bebarth
    Maître des clés

    bonjour,

    ç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:

    en réponse à : Liste déroulante et date #61715
    bebarth
    Maître des clés

    bonjour,

    …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:

    en réponse à : Automatisation assemblage de PDF #61694
    bebarth
    Maître des clés

    bonsoir,
    ça avance bien, je devrais pouvoir te proposer quelque chose demain.
    @+
    :bonjour:

    en réponse à : Automatisation assemblage de PDF #61692
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Liste déroulante et date #61712
    bebarth
    Maître des clés

    bonjour,

    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:

    en réponse à : Automatisation assemblage de PDF #61690
    bebarth
    Maître des clés

    bonsoir,
    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:

    en réponse à : Script de calcul personnalisé #61683
    bebarth
    Maître des clés

    bonjour,

    …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:

    en réponse à : Pièce jointe à un PDF (supprimer) #61670
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Valeur par défaut d’un champ soit soulignée ? #61667
    bebarth
    Maître des clés

    re-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:

    en réponse à : Valeur par défaut d’un champ soit soulignée ? #61665
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Valeur par défaut d’un champ soit soulignée ? #61663
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : PDF avec champs liés entre eux automatiquement #61657
    bebarth
    Maître des clés

    Si 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:

    en réponse à : PDF avec champs liés entre eux automatiquement #61655
    bebarth
    Maître des clés

    Non, c’est moi qui ait effacé du code sans le faire exprès !!!
    …voilà ce que c’est de ne pas tester avant !!!
    @+
    :bonjour:

    en réponse à : PDF avec champs liés entre eux automatiquement #61653
    bebarth
    Maître des clés

    bonjour,
    Ne serait-ce pas quelque chose comme ça que tu cherches à faire ?
    @+
    :bonjour:

    en réponse à : Condition IF – ELSE pour masquer-afficher et cocher #61660
    bebarth
    Maître des clés

    bonsoir,
    Il faut mettre 2 signes “=” -> if (a.display == display.hidden)…
    C’est bien ce que tu voulais ?
    @+
    :bonjour:

    en réponse à : Commentaires : comment supprimer la date et l’heure ? #61616
    bebarth
    Maître des clés

    bonsoir,
    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:

    en réponse à : Commentaires : comment supprimer la date et l’heure ? #61612
    bebarth
    Maître des clés

    Merci 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:

    en réponse à : Commentaires : comment supprimer la date et l’heure ? #61609
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Commentaires : comment supprimer la date et l’heure ? #61608
    bebarth
    Maî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:

    en réponse à : Commentaires : comment supprimer la date et l’heure ? #61607
    bebarth
    Maître des clés

    bonsoir,
    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:

    en réponse à : Transformation de date #61603
    bebarth
    Maître des clés

    bonsoir,
    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:

    en réponse à : Pdf avec bouton qui ouvre un popup #61599
    bebarth
    Maître des clés

    :doute:
    ça ne fonctionne pas sur iPhone en tout cas !!!
    @+
    :bonjour:

    en réponse à : Pdf avec bouton qui ouvre un popup #61597
    bebarth
    Maître des clés

    …j’ai rajouté this.dirty=false; si on ne veux pas sauvegarder à chaque fois !
    @+
    :bonjour:

    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Pdf avec bouton qui ouvre un popup #61596
    bebarth
    Maître des clés

    bonjour,
    …et pourquoi pas avec une page modèle ???
    @+
    :bonjour:

    en réponse à : Bouton d’envoi avec liste déroulante avec choix multiple #61589
    bebarth
    Maître des clés

    bonjour,
    …ç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:

    en réponse à : Restreindre un champ de remplissage à du texte uniquement #61531
    bebarth
    Maître des clés

    voir fichier joint.
    @+
    :bonjour:

    en réponse à : Restreindre un champ de remplissage à du texte uniquement #61529
    bebarth
    Maître des clés

    bonjour,
    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:

    en réponse à : Incrémentation à l’impression #61524
    bebarth
    Maî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:

    en réponse à : Incrémentation à l’impression #61522
    bebarth
    Maître des clés
    en réponse à : Incrémentation à l’impression #61520
    bebarth
    Maî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:

    en réponse à : Incrémentation à l’impression #61518
    bebarth
    Maî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:

    en réponse à : Incrémentation à l’impression #61514
    bebarth
    Maître des clés

    bonjour,
    ci-joint un fichier avec bouton d’impression qui pourra peut-être t’être utile.
    @+
    :bonjour:

    en réponse à : Agences de développement #61496
    bebarth
    Maître des clés

    bonjour,
    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:

    bebarth
    Maître des clés

    merci 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:

Affichage de 99 réponses de 2,674 à 2,772 (sur un total de 3,242)