Donnez vie à vos documents numériques !
 

alex

Toutes mes réponses sur les forums

Affichage de 99 réponses de 298 à 396 (sur un total de 564)
  • Auteur
    Réponses
  • alex
    Participant

    Je n’y comprend rien. Envoyez votre formulaire.

    alex
    Participant

    La syntaxe est enigmatique pour moi!
    if et else sont à mettre en minuscules.
    Quel est la formule du mystérieux calcul à effectuer et où afficher le résultat ?

    alex
    Participant

    Pour les calculs, la syntaxe JavaScript est la même dans Acrobat et en HTML.
    Je vous conseille donc le site de developpez.com:
    http://javascript.developpez.com/cours/
    Pour ma part, pour les maths, j’utilise aussi un petit mémento JavaScript publié aux éditions Eyrolles: JavaScript précis & concis de David Flanagan

    Cela dit, il faut bien maîtriser la gestion des évènements de l’environnement Acrobat pour rendre l’usage des formulaires agréable.

    Bonne chance.

    alex
    Participant

    Formulaires LiveCycleDesigner et PDF Expert:
    On peut oublier le JavaScript pour les formulaires développés sous LiveCycle Designer, les évènements ne sont pas pris en compte. Je n’ai pas testé le FormCalc.
    Formulaires acroForm et PDF Expert:
    Ce qui ne marche pas:
    Un certain nombre de méthodes ne fonctionnent pas, en particulier tout ce qui est lié à un idle (entrée ou sortie souris dans un champ, méthodes de type app.setInterval), ainsi que des méthodes style app.popUpMenu et app.popUpMenuEx bien utiles. Les videos embarquées ne fonctionnent pas.
    Ce qui marche:
    Par contre, on peut lancer des scripts et manipuler les propriétés des objets (champs, dates). Je n’ai pas testé les manipulations des calques, ni des signets.

    PDF Expert est donc une bonne base de travail pour les formulaires acroForm sur iPad et sur iPhone (iOS 5).

    en réponse à : Liste deroulante et cadre de texte. – RÉSOLU #52288
    alex
    Participant

    Une variante à ta solution pour le fun…

    [attachment deleted by admin]

    en réponse à : Double valeur dans un champ. – RÉSOLU #52266
    alex
    Participant

    1-Le script de calcul est au niveau du document:
    Sous Acrobat 8, 9 :
    Options avancées>Traitement du document>Scripts JavaScript. Saisir le nom du script (Cacul) puis “Ajouter”. Coller ici le script compris entre les {}.

    function Calcul()
    {
    console.println(“Action utilisateur”);
      if(this.event.target.name==”PrixHT”&TTC)
      {
      console.println(“Calcul du montant TTC”);
      this.getField(“PrixTTC”).value=this.event.value*coefTVA;
      }
      if(this.event.target.name==”PrixTTC”&!TTC)
      {
      console.println(“Calcul du montant HT”);
      this.getField(“PrixHT”).value=this.event.value/coefTVA;
      }
    }

    Sous Acrobat X:
    Outils>JavaScripts>Scripts JavaScript du document> Saisir le nom du script (Cacul) puis “Ajouter”. Coller ici le script compris entre les {}.

    2-Ce script (fonction) est lancé par l’évènement de validation du champ “PrixHT” ou “PrixTTC”.
    Sous Acrobat 8, 9 :
    Formulaires>Ajouter ou modifier des champs.
    Clic-Droit sur le champ>Propriétés>Onglet Validation>
    Cocher “Exécuter le script de validation personnalisé” puis “Modifier” pour saisir:
    Calcul();

    Sous Acrobat X :
    Outils>Formulaires>Modifier.
    Clic-Droit sur le champ>Propriétés>Onglet Validation>
    Cocher “Exécuter le script de validation personnalisé” puis “Modifier” pour saisir:

    Calcul();

    Pour le champ “PrixHT”, Actions>Souris entrée>Lancer un JavaScript saisir le script suivant:

    TTC=true;
    console.println(“Preparation calcul TTC…”);
    this.getField(“LibellePrixHT”).fillColor=color.white;
    this.getField(“LibellePrixTTC”).fillColor=color.yellow;

    Pour le champ “PrixTTC”, Actions>Souris entrée>Lancer un JavaScript saisir le script suivant:

    TTC=false;
    console.println(“Preparation calcul HT…”)
    this.getField(“LibellePrixHT”).fillColor=color.yellow;
    this.getField(“LibellePrixTTC”).fillColor=color.white;

    3-Pour le script d’ouverture sous Acrobat 8,9,X, clic droit sur la vignette de la page puis Propriétés> Onglet Action>Lancer un JavaScript puis Ajouter:
    console.clear();
    coefTVA=1.196;
    TTC=true;
    this.resetForm();
    this.getField(“LibellePrixTTC”).value=”Montant TTC”;
    this.getField(“LibellePrixHT”).value=”Montant HT”;

    en réponse à : Double valeur dans un champ. – RÉSOLU #52264
    alex
    Participant

    Maquette avec champ pour la TVA.
    On pourrait aussi calculer les montant HT tet TTC à partir de la saisie de la TVA !

    [attachment deleted by admin]

    en réponse à : Double valeur dans un champ. – RÉSOLU #52263
    alex
    Participant

    Cette méthode n’est pas utilisable ici car le calcul doit fonctionner dans les deux sens:

    • Calcul TTC si action sur HT
    • Calcul HT si action sur TTC
    • [/list]

    en réponse à : Calcul sur date dans un formulaire. – RÉSOLU #52256
    alex
    Participant

    Le script suivant fera l’affaire pour trouver le mois précédant date à date et illustrera l’usage de l’objet Date…
    function CalculDate()
    {
    console.println(“Action utilisateur calcul de date”);
    chaine=this.event.value;
    //Extraction des données à partir de la valeur du champ “DateExpiration”
    jour=chaine.substring(0,2);
    mois=chaine.substring(3,5);
    annee=chaine.substring(6,10);
    //Calcul du mois n-1 (les mois sont notés de 0 à 11)
    mois=mois-2;
    //Définition de l’objet date de renouvellement
    dateRenouvellement=new Date(annee,mois,jour);
    //Extraction et affichage de la date.
    this.getField(“DateRenouvellement”).value=util.printd(“dd/mm/yyyy”,dateRenouvellement);
    }

    Pour un calcul plus sophistiqué, j’ai déjà donné un exemple dans un autre POST.
    Nota:il faut respecter le format de date jj/mm/aaaa

    [attachment deleted by admin]

    en réponse à : Double valeur dans un champ. – RÉSOLU #52261
    alex
    Participant

    La maquette jointe montre comment résoudre ce problème.
    Si on saisit un montant HT, le montant TTC est calculé, si on saisit un montant TTC le montant Ht est calculé.
    La validation d’un des champs lance le programme ci-dessous, la variable TTC détectant au préalable la présence de la souris dans le champ “PrixTTC” (TTC=true) ou dans le champ “PrixHT” (TTC=false)  :

    function Calcul()
    {
    console.println(“Action utilisateur”);
    if(this.event.target.name==”PrixHT”&TTC)
    {
    console.println(“Calcul du montant TTC”);
    this.getField(“PrixTTC”).value=this.event.value*coefTVA;
    }
    if(this.event.target.name==”PrixTTC”&!TTC)
    {
    console.println(“Calcul du montant HT”);
    this.getField(“PrixHT”).value=this.event.value/coefTVA;
    }
    }

    Le script d’ouverture de page fixe le paramètre de calcul de la TVA, initialise le formulaire, et autres détails sans importance.
    console.clear();
    coefTVA=1.196;
    TTC=true;
    this.resetForm();
    this.getField(“LibellePrixTTC”).value=”Montant TTC”;
    this.getField(“LibellePrixHT”).value=”Montant HT”;

    Lorsque la souris entre dans le champ “PrixHT”, TTC passe à true:
    TTC=true;
    console.println(“Preparation calcul TTC…”);
    this.getField(“LibellePrixHT”).fillColor=color.white;
    this.getField(“LibellePrixTTC”).fillColor=color.yellow;

    Lorsque la souris entre dans le champ “PrixTTC”, TTC passe à false:
    TTC=false;
    console.println(“Preparation calcul HT…”)
    this.getField(“LibellePrixHT”).fillColor=color.yellow;
    this.getField(“LibellePrixTTC”).fillColor=color.white;

    [attachment deleted by admin]

    alex
    Participant

    Je teste ça plus avant sur une application déjà bien rodée sur les autres plateformes (avec interactivité, videos,calques, formulaire, analyse de validité des saisies etc…) pour voir les corrections à apporter pour palier aux méthodes inopérantes et on en reparle.

    alex
    Participant

    Ce “Reader” est décidément une bonne surprise et très au dessus d’ Adobe Reader:
    1-Les champs de formulaire sont bien activés et saisissables. Leurs propriétés sont à peu près respectées.
    2-Il interprète un certain nombre de méthodes JavaScript, en tout cas suffisamment pour envisager un travail sérieux.
    3-Il ouvre les xfa et interprète une partie des méthodes JavaScript propres à LiveCycle Designer!
    Il faut donc revoir en partie et tester les formulaires qui fonctionnent sur Adobe Reader Mac, Pc et Linux mais ce n’est pas insurmontable.
    Bref, un filon à exploiter car, cerise sur le gâteau le  submitForm() semble fonctionner (envoi de données vers un serveur)!
    Je mange mon chapeau.

    alex
    Participant

    Un complice américain veut me faire manger mon chapeau ! Il prétend qu’on peut saisir des données de formulaire avec PDF Expert pour iOS.
    Je viens de dépenser 7.99 Euros pour me faire une idée. Evidemment, c’est l’aspect formulaire qui retiendra mon attention, suivi de près par l’interactivité (JS or not JS).
    A suivre…
    Pour les promesses, c’est là:

    http://itunes.apple.com/app/pdf-expert-fill-forms-annotate/id393316844?mt=8

    alex
    Participant

    Sur les palettes, inutile de chercher un lecteur PDF capable de prendre en charge les données de formulaire !
    Par contre, on peut très bien saisir des données à partir d’une interface WEB écrite en HTML5+JavaScript ou bien en HTML5+pHp interfacé avec une base de données mySQL. Avec cette dernière méthode, toutes les tablettes sont immédiatement compatibles quelque soit le navigateur embarqué (le pHp s’exécute côté serveur) . On peut même générer des documents PDF à plat à partir des données mySQL.

    en réponse à : Écris cela dans le champ truc. – RÉSOLU #52245
    alex
    Participant

    Etrange question… La réponse est peut-être juste ceci:
    this.getField(“MonBeauChamp”).value=”Mon beau texte”;
    ou bien cela pour inciter l’utilisateur à saisir un texte qui apparaîtra dans un champ texte:
    reponseDefault=”Reponse proposee”;
    this.getField(“MonBeauChamp”).value=app.response(“Objet de la Question”,”Titre de la question”,reponseDefault)

    en réponse à : Fonctions Acrobat masquer temporairement un objet. – RÉPONDU #52243
    alex
    Participant

    Pour accéder aux propriétés des champs de formulaire il suffit d’afficher la liste de ces champs et de faire un clic droit (Ctrl Clic) sur le nom du champ dans la liste. L’avantage de cette manière de faire est de pouvoir aussi gérer l’ordre des tabulations, de visualiser les occurrences multiples d’un même champ dupliqué.
    Sous Acrobat X PRO:
    Outils>Formulaires>Modifier… la liste apparaît.
    Sous Acrobat 9 PRO
    Formulaires>Ajouter ou modifier des champs>Cliquer si nécessaire sur l’icône à gauche “Champs:manipuler les champs de formulaire”.

    en réponse à : Lire pdf sur iPad ? – RÉSOLU #51072
    alex
    Participant

    Allez faire un tour par là:
    http://tv.adobe.com/watch/adc-presents/input-for-mobile-devices-gesture-events/
    Désolé c’est en anglais, très Evangelist Adobe, mais bon, c’est la tendance!

    en réponse à : Lire pdf sur iPad ? – RÉSOLU #51070
    alex
    Participant

    Oui, j’ai essayé d’ouvrir des formulaires  .xfa sans succès. Dans le futur peut-être …

    en réponse à : Lire pdf sur iPad ? – RÉSOLU #51067
    alex
    Participant
        Oui ça pourrait, car les dernières versions 9 et X d’Adobe Reader et d’Acrobat destinées à Mac et Pc privilégient ce format, mais ce n’est qu’une vague hypothèse.
        Pour la publication sur iPad et Androïd, les produits qui ont le vent en poupe sont:

      • soit des produits qui partent de Indesign pour élaborer des formats d’eBook (Aquafadas, Adobe Digital Publishing Suite) que l’on consulte sur une application propriétaire (myKiosk pour Aquafadas, pour Adobe je ne sais pas si c’est sorti).
      • soit des produits écrits en HTML5, que l’on consulte avec Safari sur iPad. Dans ce cas, on retrouve une vraie interactivité (on peut insérer du pHp et une connectivité à une base de données en SQL) tout en contrôlant presque bien la présentation grâce au HTML5, sans parler des vidéos. De plus on s’affranchit de l’App Store!
      • [/list]
        Vous l’avez compris, j’ai un faible pour cette voie là. Elle est libre et le pHp est un vrai régal.
        [/list][/list]

      en réponse à : Lire pdf sur iPad ? – RÉSOLU #51064
      alex
      Participant

      La version iPad et iPhone d’Adobe Reader est disponible.
      Mais ne vous attendez pas à des miracles…
      1-Pas d’objets de formulaire acroForm (boutons,champs de saisie,cases à cocher).
      2-Pas de JavaScript évidemment.
      3-Pas d’ouverture des xfa (formulaires élaborés sous LiveCycle Designer), un message indique que la version du Reader est inappropriée
      4-Vidéos embarquées non fonctionnelles.

      Dur dur.
      Ah si, les annotations de texte s’affichent! Bof

      Intégrer du flash pour remédier à ces inconvénients ? A voir.

      en réponse à : Indexation des renvois de page dans document PDF. – RÉSOLU #51903
      alex
      Participant

      Pour contourner ce problème il faudrait calculer la longueur du rectangle en fonction du numéro de page, au lieu de faire confiance à la taille du WordQuad qui est manifestement erronée (un petit bug dans cette fonction lorsqu’on est en italique). On fera ça la prochaine fois …

      en réponse à : Case-à-cocher automatiquement cochée. – RÉSOLU #51941
      alex
      Participant

      Voilà. Attention, lors de la saisie de la date de naissance, il faut toujours respecter le format de 10 digits.

      [attachment deleted by admin]

      en réponse à : Calcul de champs au format hh:mm. – RÉSOLU #51961
      alex
      Participant

      Variante: calcul sur validation du champ de saisie (suppression du bouton de calcul).

      [attachment deleted by admin]

      en réponse à : Calcul de champs au format hh:mm. – RÉSOLU #51960
      alex
      Participant

      Un truc de ce genre…
      Le script de calcul situé au niveau du document, est lançé par le bouton “Calcul”. Il est commenté.
      En ouvrant la console, vous pouvez voir les calculs intermédiaires.
      Voir au passage la manipulation de l’objet Date (valable aussi sur une page Web).
      Attention, le champ “Texte2” n’a pas de format imposé.

      [attachment deleted by admin]

      en réponse à : Case-à-cocher automatiquement cochée. – RÉSOLU #51940
      alex
      Participant

      On va ajouter une case à cocher invisible et la cocher par défaut tant que la saisie de la date de naissance ne sera pas valide. C’est une méthode assez classique pour initialiser les questionnaires d’évaluation. Je vous fais une maquette dès que possible (d’ici lundi).

      alex
      Participant

      Oui, enlever les commandes console.println(), ou les passer en commentaires.
      Ajouter ceci au début:

      d0=new Date();
      debut=util.printd(“dd-mm HH:MM”,d0)
      console.println(“Debut process:”+debut)
      Ajouter ceci à la fin:
      df=new Date();
      fin=util.printd(“dd-mm HH:MM”,df)
      console.println(“Fin process:”+fin)
      delta=(df.valueOf()-d0.valueOf())/1000/60
      console.println(“Duree process:”+delta+” minutes”)

      alex
      Participant

      Juste pour comprendre, ça peut attendre une ou deux semaines bien sûr.

      alex
      Participant

      Je ne comprend pas, peux-tu donner l’ensemble du code ?

      alex
      Participant

      La somme est traitée comme une concaténation de caractères (“30″+”pp-1”) !
      Essayez de forcer le calcul comme suit:

      action=”this.pageNum=”+(Math.round(30)+pp-1);
      Ou bien:
      action=”this.pageNum=”+(1*30+pp-1);

      en réponse à : Case-à-cocher automatiquement cochée. – RÉSOLU #51937
      alex
      Participant

      Ci-joint la maquette sans console affichée et sans bouton de test.
      Soutenons les sportifs!

      [attachment deleted by admin]

      en réponse à : Case-à-cocher automatiquement cochée. – RÉSOLU #51936
      alex
      Participant

      Supprimer la ligne suivante en début de script:
      console.show();

      alex
      Participant

      Si la page 1 est en 30ème position et si on ignore les 29 première pages du document, il faut doute faut-il écrire:
      action=”this.pageNum=”+(30+pp-1);

      alex
      Participant

      Tu me poses une colle, j’aime bien l’écrit et je ne suis pas très DVD ou Webminar, si je passe chez Eyrolles, je regarde ce qui est le mieux …
      Autre source, excellente et pas seulement en Javascript (j’ai trouvé tout ce qu’il faut en AJAX, SQL, pHp et Flex):

      http://javascript.developpez.com/cours/

      alex
      Participant

      Il suffit de partir de la page 31, ce qui donne:
      for (var p = 30; p < this.numPages; p++)
      Le JavaScript pour les nuls, ça existe:
      http://www.amazon.fr/JavaScript-pour-nuls-Emily-VanderVeer/dp/2844277160
      Mais il s’agit du JavaScript pour HTML, pas de celui qui gère les objets d’Acrobat, pourtant les bases sont là. Pour trouver votre bonheur faites un tour chez Eyrolles.

      en réponse à : Case-à-cocher automatiquement cochée. – RÉSOLU #51934
      alex
      Participant

      Voici une maquette, merci de vérifier qu’elle fonctionne. Tout est dans le script Calcul() lançé par la validation de la date de naissance.
      J’espère que les commentaires suffisent, il faudrait paramétrer un peu pour retrouver le fonctionnement d’année en année…

      [attachment deleted by admin]

      alex
      Participant

      On peut éviter la ruine par une petite ligne de JavaScript lançée au moment opportun sous Acrobat 9 ou X:
      app.execMenuItem(“DIGSIG:UBDoc”);
      Pour ma part, je vous conseille d’écrire des programmes .js au niveau d’Acrobat  (répertoire JavaScript sur Mac ou Pc) pour manipuler vos documents plutôt que de recourir aux batchs, c’est un peu plus souple quand on maîtrise le sujet.

      alex
      Participant

      Pour ne pas saturer la console, placer un console.clear() comme suit:

      for (var p = 0; p < this.numPages; p++)
      {
      console.clear();
      console.println(“Page “+(p+1));
      var numWords = this.getPageNumWords(p);

      Ainsi, la console sera effacée à chaque ouverture de page…On peut aussi supprimer toutes les impressions dans la console.

      En ce qui concerne le temps de calcul, c’est une autre affaire…Peut-être que la méthode que j’ai utilisé dans la mesure d’encrage pour définir le rectangle est meilleure mais ce n’est pas sûr.

      alex
      Participant

      A tester quand même avec un document volumineux ! J’ai ajouté dans la recherche les mots “Page” et “page”:
        if ( ckWord == “page”|ckWord == “Page”)
      Bonne vacances !

      en réponse à : Case-à-cocher automatiquement cochée. – RÉSOLU #51932
      alex
      Participant

      Bonjour,
      Pour ce problème ne vaut-il pas mieux calculer les âges des personnes à partir de la date de naissance saisie et de la date du jour ? A partir de là il ne sera pas difficile aux spécialistes du JavaScript en vacances de cocher la case ad’oc du bouton radio.
      Pouvez-vous leur donner les plages d’age correspondant aux différentes catégories?
      En attendant leur retour…

      alex
      Participant

      Si j’ai bien compris, voici qui devrait mieux se comporter…
      Les erreurs sont signalées dans le script.

      console.clear();
      console.println(“Processus de creation des liens…”);
      for (var p = 0; p < this.numPages; p++)
      {
      console.println(“Page “+(p+1));
      var numWords = this.getPageNumWords(p);
      for (var i=0; i {
      var ckWord = this.getPageNthWord(p, i, true);
      console.println(i+”-Mot trouve : “+ckWord);
      if ( ckWord == “page”|ckWord == “Page”)
      {
      //Analyse du mot suivant
      MotSuivant=this.getPageNthWord(p,(i+1),true);
      console.println(“Mot suivant trouve, lien a creer : “+MotSuivant);
      //Premier caractère est-il un chiffre?
      if(MotSuivant.charCodeAt(0)>=48&MotSuivant.charCodeAt(0)<=57)
      {
      // pp numéro de la page indexee
      //erreur ici
      var pp = MotSuivant;
      //fin erreur
      console.println(“Créer des liens, mot suivant trouve est un chiffre, lien a creer : “+pp);
      var q = this.getPageNthWordQuads(p, i+1);
      // convert quads in default user space to rotated
      // user space used by Links.
      m = (new Matrix2D).fromRotated(this,p);
      mInv = m.invert()
      r = mInv.transform(q)
      r=r.toString()
      r = r.split(“,”);
      l = addLink(p, [r[4], r[5], r[2], r[3]]);
      l.borderColor = color.red
      l.borderWidth = 1;
      //erreur ici
      action=”this.pageNum=”+(pp-1);
      l.setAction(action);
      //fin erreur
      }
      }
      }
      }

      alex
      Participant

      Il y a probablement une division par 0. Il suffit de saisir une autre valeur non nulle dans le champ idoine et d’enregistrer le formulaire.
      Mon conseil: utiliser le JavaScript plutôt que FormCalc pour les calculs et surtout tester la validité des saisies.

      en réponse à : Masquer la valeur si = 0 – RÉSOLU #51807
      alex
      Participant

      Je déconseille de remplacer les 0 par des blancs (comme proposé dans le topic 1329). Ces blancs poseront des problèmes de format à toute opération de calcul ultérieure. C’est le cas ici, on aura à faire une somme… Bonne soirée.

      en réponse à : Masquer la valeur si = 0 – RÉSOLU #51805
      alex
      Participant

      Je vous déconseille de remplacer la va valeur calculée 0.00 par un blanc. Ici je force la couleur du texte en noir pour les valeurs positives, en couleur de fond pour la valeur 0. Il faut finir le travail pour les autres champs.

      Pour le champ texte “Texte23”:
      Onglet Calcul > Script de calcul personnalisé:

      console.clear();
      //Calculer la valeur à afficher
      this.event.value=this.getField(“C1”).value*this.getField(“Texte22”).value;
      //Mémoriser la couleur du fond
      CouleurReference=this.getField(“Texte23”).fillColor;
      if(this.event.value>0)
      {
      //Valeur non nulle> Passer le texte en noir.
      this.getField(“Texte23”).textColor=color.black;
      }
      else
      {
      //Valeur nulle > Le texte aura la même couleur que le fond
      this.getField(“Texte23”).textColor=CouleurReference;
      }

      Exemple joint pour le premier champ calculé uniquement.

      [attachment deleted by admin]

      alex
      Participant

      Désolé, il y a une petite erreur, voici le script exact :
      this.getField(“Saisie.3”).required=this.getField(“Case.3”).isBoxChecked(0);
      console.println (this.getField(“Saisie.3”).required);

      Il manquait la parenthèse sur la propiété isBoxChecked
      Oui, c’est le moment ou la souris est relachée

      alex
      Participant

      Oui, action>Souris relachée

      en réponse à : Javascript à améliorer : menu déroulant – RÉSOLU #51778
      alex
      Participant

      Ci joint le formulaire corrigé avec le script qui doit être lancé par le champ “C1” (onglet Format>Catégorie de format personnalisé>Script de touches personnalisé) ://début du script
          if(!event.willCommit)
          {
      //Valeurs par defaut
          this.getField(“C2”).value =0
          this.getField(“C3”).value =0;
      //Valeurs conditionnelles
              if(event.change==”U.G.C”)
              {
              this.getField(“C2”).value =4.5;
              this.getField(“C3”).value =6.40;
              }
              if(event.change==”PATHE-GAUMONT”)
              {
              this.getField(“C2”).value =5.25;
              this.getField(“C3”).value =7.40;
              }
              if(event.change==”UTOPIA”)
              {
              this.getField(“C2”).value =3.15;
              this.getField(“C3”).value =4.50;
              }
          }

      [attachment deleted by admin]

      alex
      Participant

      Placer le script suivant dans la case à cocher :

      this.getField(“NomDuChampDeSaisie”).required=this.getField(“CaseACocher”).isBoxChecked;

      alex
      Participant

      C’est possible. Je ne pourrai vous répondre que mercredi, je suis en vacance avec un iPad…. Donc sans acrobat . A bientôt.

      alex
      Participant

      Ma précédente maquette n’est pas au point.
      Voilà qui sera mieux (voir pièce jointe).
      Sur Acrobat 8 et 9:
      Script de document:
      Options avancées>Traitement du document>scripts JavaScript…
      Script sur action:
      Propriétés du champ texte>Onglet Action>Script de champ désactivé.
      Ici les tests sont faits sur les longueurs des chaînes de saisie, par exemple pour un email il faudrait au moins 3 caractères (au lieu de 1 dans mon exemple) , on progresse  mais on est loin d’une solution PRO!

      [attachment deleted by admin]

      alex
      Participant

      Sur Acrobat 8 et 9:
      Script de document:
      Options avancées>Traitement du document>scripts JavaScript…
      Script de format personnalisé:
      Propriétés du champ texte>Onglet Format>Script de format personnalisé.

      alex
      Participant

      On est bien d’accord, mais on peut capter par un script lançé lors de l’enregistrement du formulaire, l’origine de l’action (bouton “Enregistrer” ou tout autre mode d’enregistrement” par menu ou clavier) et  éditer une alerte conseillant vivement l’usage de ce bouton plutôt que les commandes naturelles.

      alex
      Participant

      Ci-joint la maquette pour vous aider à aller plus loin.
      Le script de document Analyse() se contente de vérifier qu’une saisie a bien été effectuée dans l’un des trois champs requis. Ce n’est pas suffisant pour un usage professionnel. Ce script est lançé en tant que script de format personnalisé.
      Je ne pourrai pas suivre ce fil dans les jours qui viennent.
      A bientôt.

      [attachment deleted by admin]

      alex
      Participant

      Quelques remarques:
      1-eformpdf_submitForm();
      n’est pas une méthode, ce pourrait être une fonction si celle-ci était définie.
      this.submitForm();
      est bien une méthode mais elle est réservée à l’envoi de données de formulaire et  il faut la paraméter correctement.
      2-Si l’une des trois conditions logiques est satisfaite, le bouton “Enregistrer ” restera invisible, sinon, ce bouton apparaîtra. On ne voit nulle part de condition logique…
      3-Pour être rigoureux, il faut être plus exigeant avec les saisies, le constat du champ non vide est insuffisant.
      4-Pour qu’il soit possible d’enregistrer le formulaire avec ses données sous Adobe Reader, il faudra activer les “Reader Extension” avant d’enregistrer le formulaire sous Adobe Acrobat.
      Je vais vous faire une petite maquette d’ici demain soir.

      en réponse à : Validation d’un champ Sexe (H ou F). – RÉSOLU #51672
      alex
      Participant

      C’est peut-être l’attente de nouveaux genres qui impose le choix du champ texte? Mais bon, on se tient au problème posé.
      En ce qui concerne l’équation il y a une erreur de logique combinatoire  si on admet que !== est remplacé par != .
      Le <> (différend de ) est utilisé par exemple dans les expressions des formules sous tableurs Excel, pas en JavaScript.
      Enfin, il est possible de positionner le focus sur le champ de saisie si la saisie est incorrecte par:

      this.getField(“Sexe1”).setFocus();
      Mais cette méthode ne peut être lancée depuis le script embarqué par le champ.
      C’est tout pour aujourd’hui. Bonne soirée.

      en réponse à : Validation d’un champ Sexe (H ou F). – RÉSOLU #51666
      alex
      Participant

      Pour respecter votre logique voici le script à embarquer dans le champ de saisie:

      //Pour visualiser la console Ctrl-J ou Pomme-J sur Mac
      //Reset console.
      console.clear();
      //Captage valeur saisie
      ff=this.event.value;
      //Affichage valeur console.
      console.println(“Valeur lue:”+ff);
      if ((ff == “H”) |(ff == “F”))
      {
      //Affichage information sur console.
      console.println(“Saisie valide!”);
      //Alerte facultative
      app.alert({
      cMsg: “Le format est bon!.”,
      cTitle: “Confirmation”,
      nIcon:3
      });
      }
      else
      {
      //Affichage information sur console.
      console.println(“Saisie invalide!”);
      //Alerte de saisie incorrecte
      app.alert({
      cMsg: “Veuillez indiquer le bon format pour le sexe (H ou F).”,
      cTitle: “Erreur”,
      nIcon:1
      });
      }

      Ci-joint une maquette illustrant votre exemple.
      Cela dit, pourquoi ne pas utiliser un simple bouton radio (trois occurences: Homme, Femme, Non coché, valeur par défaut Non coché) avec une analyse de validité à postériori?

      Petite remarque: avez-vous bien réfléchi à la validité de votre expression logique (f.value !== “H”) || (f.value !== “F”) Hum?

      [attachment deleted by admin]

      en réponse à : Javascript pour PDF. – RÉSOLU #51654
      alex
      Participant

      Non, ce n’est pas possible. Téléchargez une version TRIAL d’Acrobat PRO valide un mois.

      en réponse à : Javascript pour PDF. – RÉSOLU #51652
      alex
      Participant

      Ceci est assez instructif aussi quant à l’uasage de Scribus  et l’usage de listes:

      http://www.abracadabrapdf.net/forum/index.php?topic=1246.0

      en réponse à : Javascript pour PDF. – RÉSOLU #51651
      alex
      Participant

      Pour faire simple, voici l’exemple le plus utilisé par les membres de ce forum. Reste à corriger quelques unicodes, (Amérique  s’écrit Amu00E9rique)..

      [attachment deleted by admin]

      alex
      Participant

      Voici l’exemple type apparemment le plus utilisé par les habitués de ce forum si je me réfère au nombre de téléchargements (plus de 100), mais il faut Acrobat PRO pour le paramétrer (utiliser une version TRIAL valide 1 mois si nécessaire).
      Le paramétrage sous Scribus sous Scribus doit être possible… A voir… Pour ma part, je ne l’ai utilisé qu’une fois et je ne sais pas comment on lance un script de touches personnalisé (listes mères).
      Il y a aussi quelques fautes à corriger dans les unicodes (exemple Amérique s’écrit Amu00E9rique).
      Est-ce suffisant?

      [attachment deleted by admin]

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50744
      alex
      Participant

      Il y a quelques petits bugs. En effet, la page MASTER devrait être la référence.
      On corrigera ça dans une version plus aboutie dès que j’en aurai le loisir.

      alex
      Participant

      On ne va pas vous laisser tomber… Lundi vous aurez une petite maquette.

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50742
      alex
      Participant

      J’ai écris ces codes à la volée, sans tester, il est donc assez normal qu’il y ait des erreurs.
      Utilisez-vous bien le bon “Machine à souches.pdf”?

      Je ferai à partir de cette ébauche une application mixte (souches et tickets) qu’on pourrait peut-être intégrer à abracadabraTool avec la bénédiction de Merlin, car apparemment, vu le nombre de téléchargements, ça intéresse du monde.

      Attention: il n’est pas possible, dans cette application, de dupliquer des codes bar avec des contenus variables.

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50739
      alex
      Participant

      Edition des souches:
      Voilà le script de l’application:
      3-Le script machinesouches.js à intégrer dans le répertoire JavaScript.

      L’extension .jpg doit être remplacée par .js

      Nota:
      Le nombre de tickets par souche est un paramètre fixé à 10 en début de ce script.
      C’est le maximum que je puisse faire dans le cadre de ce forum.

      [attachment deleted by admin]

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50738
      alex
      Participant

      Edition des souches:
      Voilà le second à adapter (ne pas changer les noms des champs)
      2-La page PageMasterSouche.pdf qui embarque la maquette des souches (3 dans mon exemple).

      [attachment deleted by admin]

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50737
      alex
      Participant

      Edition des souches:
      Pour réaliser ça, il faut tout reprendre, ce que j’ai fait:
      1-Le document de paramétrage “Machine à souches”
      2-La page PageMasterSouche.pdf qui embarque la maquette des souches (3 dans mon exemple).
      3-Le script machinesouches.js à intégrer dans le répertoire JavaScript.
      Voici le premier élément.

      [attachment deleted by admin]

      alex
      Participant

      Chef Merlin, ou tu abuses du rosé de Provence, ou tu as été abusé par la formulation incorrecte d’asengs:
      L’objet “bouton radio” se compose d’un ensemble d’occurences auxquelles tu peux associer autant de valeurs…
      Quand nous aurons compris le problème, nous proposerons un script.

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50734
      alex
      Participant

      Dans le script du fichier machinebillets.js, lignes 56 à 69 on a:
      Numero=(indexpage-1)*UnitesParPage+indexchamp;
      Marque=Numero;
      if(Numero<10000){Marque="0"+Numero;}
      if(Numero<1000){Marque="00"+Numero;}
      if(Numero<100){Marque="000"+Numero;}
      if(Numero<10){Marque="0000"+Numero;}       
      NouveauNomChamp=”Num”+Numero;
      this.addField(NouveauNomChamp,”text”,indexpage,rectangle[indexchamp]);
      this.getField(NouveauNomChamp).value=Numero;
      NouveauNomChampCB=”Codebar”+Numero;
      this.addField(NouveauNomChampCB,”text”,indexpage,rectangleCB[indexchamp]);
      this.getField(NouveauNomChampCB).value=Numero;
      this.getField(NouveauNomChampCB).borderColor=color.transparent;
      this.getField(NouveauNomChampCB).textColor=color.gray;

      Il faut faire un nouveau calcul  au niveau indiqué ici en notatnt que:
      -indexpage est le rang de la page (0 à this.numPages)
      -indexChamp est le rang du champ dans la page (de 0 à UnitesParPage)
      -Numero est le rang du ticket calculé ligne 56
      Je suis passé par la variable Marque qui ajoute des 0 au numéro pour que l’on affiche toujours le numéro avec 5 digits…

      Numero=(indexpage-1)*UnitesParPage+indexchamp;
      Marque=Numero;
      if(Numero<10000){Marque="0"+Numero;}
      if(Numero<1000){Marque="00"+Numero;}
      if(Numero<100){Marque="000"+Numero;}
      if(Numero<10){Marque="0000"+Numero;}       
      NouveauNomChamp=”Num”+Numero;
      this.addField(NouveauNomChamp,”text”,indexpage,rectangle[indexchamp]);
      //Nouveau calcul de la valeur du champs ici
      ValeurDuChamp=………………..;
      this.getField(NouveauNomChamp).value=ValeurDuChamp;
      //Fin du nouveau calcul
      NouveauNomChampCB=”Codebar”+Numero;
      this.addField(NouveauNomChampCB,”text”,indexpage,rectangleCB[indexchamp]);
      this.getField(NouveauNomChampCB).value=Numero;
      this.getField(NouveauNomChampCB).borderColor=color.transparent;
      this.getField(NouveauNomChampCB).textColor=color.gray;

      Mais je n’ai pas compris quel calcul faire…. A la session de rattrapage, peut-être?
      Sur Mac, comme beaucoup de gens, je travaille avec Eclipse, parfois avec TextWrangler même si c’est un peu lourd pour le JavaScript. Je vais essayer TextMate que je ne connais pas.
      Bonne soirée à tous.

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50731
      alex
      Participant

      Et oui, il faut que la page MASTER soit conforme au paramétrage (nombre de tickets par page)! Je ne teste ces choses là que pour des versions professionnelles.
      En ce qui concerne l’insertion de numéros calculés, il faut enter dans le script et modifier la valeur du contenu du champ en fonction de la page et du numéro de ticket. Je ne connais pas assez votre problématique pour vous aider.

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50729
      alex
      Participant

      Bonjour,
      Quelle version d’Acrobat PRO utilisez-vous ?
      Sur Mac ou Pc?
      Avez-vous modifié le script initial ?
      Le message que vous avez (trustedcreationtickets is not defined) provient du fait que le plug in n’est pas installé correctement et la fonction trustedcreationtickets ne peut être appelée.
      Dans la console, on devrait voir une trace de cette installation, ici on ne voit rien.

      en réponse à : Problèmes pour formulaire avec calques #51543
      alex
      Participant

      Voici le script qui gère l’affichages des champs associés aux calques (exemple sur le ftp)
      La fonction GestionChamps2 est une fonction de document est lancée en ouverture de page 2.
      Trois phases:
      1-On affiche tous les champs.
      2-On masque tous les champs associés aux calques (noms commençant par FOCH,DVL,BCT…)
      3-On affiche les champs associés au calque sélectionné.

      En fait, la gestion manuelle des boutons radios ne sert à rien si on respecte bien le nommage des champs.

      function GestionChamps2()
      {
      //Gestion des champs
      console.clear();
      choix=this.getField(“Choix amphi”).valueAsString;
      console.println(“Valeur du bouton radio=”+choix);
      //Affichage de tous les champs
      indexField=0;
      while(indexField {
      nom=this.getNthFieldName(indexField);
      this.getField(nom).hidden=false;
      indexField=indexField+1;
      }
      //Masquage des champs associés aux calques
      indexField=0;
      while(indexField {
      nom=this.getNthFieldName(indexField);
      if(nom.substring(0,4)==”FOCH”|nom.substring(0,3)==”DVL”|nom.substring(0,3)==”BCT”|nom.substring(0,3)==”COM”|nom.substring(0,3)==”MOD”)
      {
      //Masquage
      this.getField(nom).hidden=true;
      console.println(“Le champ “+nom+” est masqué.”)
      }
      indexField=indexField+1;
      }
      //Affichage des champs liés au calque retenu.
      indexField=0;
      while(indexField {
      nom=this.getNthFieldName(indexField);
      if(nom.substring(0,choix.length)==choix)
      {
      //Masquage
      this.getField(nom).hidden=false;
      console.println(“Le champ “+nom+” est affiché.”)
      }
      indexField=indexField+1;
      }
      //console.show();
      }

      en réponse à : Problèmes pour formulaire avec calques #51542
      alex
      Participant

      Je reviens sur mon post précédant. Pour limiter l’affichage des champs de saisie à ceux du calque sélectionné, il faut les nommer de telle manière qu’un script puisse les discriminer, comme suit:
      Noms commençant par FOCH-, ne seront affichés que si le calque FOCH est activé.
      Noms commençant par DVL-, ne seront affichés que si le calque DVL est activé.
      Noms commençant par BCT-, ne seront affichés que si le calque BCT est activé.
      Noms commençant par COM-, ne seront affichés que si le calque COM est activé…
      ainsi que MOD- et AM-
      Tous les autres champs sont visibles.
      Puis ajouter un script à l’ouverture de la seconde page.

      en réponse à : Problèmes pour formulaire avec calques #51541
      alex
      Participant

      On pourrait ajouter au script précédant quelques lignes de code pour masquer les champs parasites associés aux calques non visualisés.
      Eh oui, les templates, c’est fini depuis Reader 8…Il est donc judicieux d’associer des champs et des calques (avec AcroForm)

      en réponse à : Problèmes pour formulaire avec calques #51536
      alex
      Participant

      Mon script est une “rustine”, il faudrait voir pourquoi l’état des calques n’est pas conservé après enregistrement…
      Merlin, une idée ?

      en réponse à : Problèmes pour formulaire avec calques #51535
      alex
      Participant

      Placez ce script en ouverture de page de votre formulaire:
      //Réactivation des calques sélectionnés
      console.clear();
      console.println(“Valeur du bouton radio=”+this.getField(“Choix amphi”).value);
      //Récupération des calques de la page 2
      ocgArray=this.getOCGs(1)
      index=0;
      while(index{
      //Recherche des calques ayant pour nom, la valeur du bouton radio et “page base”
      if(ocgArray[index].name==this.getField(“Choix amphi”).value|ocgArray[index].name==”page base”)
      {
      ocgArray[index].state=true;
      console.println(ocgArray[index].name+” activé.”);
      }
      else
      {
      ocgArray[index].state=false;
      console.println(ocgArray[index].name+” désactivé.”);
      }
      index=index+1;
      }
      //console.show();

      J’ai aussi déposé votre formulaire sur le ftp avec cette correction. Ctrl-J ou Pomme-J permet d’ouvrir la console et de voir le fonctionnement.

      en réponse à : Problèmes pour formulaire avec calques #51532
      alex
      Participant

      Effectivement, votre formulaire devrait fonctionner en l’état ! Je viens de reproduire votre problème. Je vais vous faire un script d’ouverture qui, en fonction de la case cochée réactive le calque correspondant.

      en réponse à : Problèmes pour formulaire avec calques #51530
      alex
      Participant

      J’ai bien reçu ce formulaire.
      Je suppose que vous souhaitez ne visualiser qu’un calque à la fois et dans ce cas, pourquoi n’avoir pas opté pour un bouton radio (un choix unique parmi les 5) ?
      Si vous me confirmez ça, je remplacerai les cases à cocher par un bouton radio (ayant l’aspect d’une case à cocher) et  l’action d’activation de calque par un script qui n’agira que le calque qui vous intéresse en désactivant les autres. Lors de l’enregistrement de votre formulaire, seul le calque retenu sera activé à condition que vous preniez garde de bien activer les “Reader Extensions” (Options avancées>Etendre les fonctions D’Adobe Reader si vous êtes sur Acrobat 8 ou 9). J’attend votre réponse.

      en réponse à : Problèmes pour formulaire avec calques #51528
      alex
      Participant

      Regardez bien sur ce forum, nous avons déjà pas mal de choses concernant l’utilisation des calques, y compris les manipulations par JavaScript…
      Mais envoyez votre maquette, tout ira plus vite..car je n-ai pas vraiment compris le problème!

      alex
      Participant

      Bonjour, voici une autre manière d’écrire le script (une seule ligne, pas de test!):
      //On change le statut du groupe à partir de celui d’une occurence:
      this.getField(“Theme”).readonly = !this.getField(“Theme.0”).readonly ;
      C’est le point d’exclamation qui fait tout le travail!!!!

      en réponse à : Script extraction. – RÉPONDU #51450
      alex
      Participant

      C’est normal, ce script est un script associé à l’application Acrobat, il pourrait sans doute être adapté au traitement par lot

      alex
      Participant

      Nous sommes d’accord, 150 $ c’est plus avantageux que 2 jours de travail, mais peu pédagogique. Bonne continuation….

      en réponse à : Scinder un PDF en plusieurs PDF. – RÉSOLU #51502
      alex
      Participant

      Vu avec Merlin… Nous allons effectivement réintégrer un outil de découpage dans AbracadabraTool X. 

      alex
      Participant

      Cet outil (payant) fonctionne comme je l’ai mentionné  plus haut (solution 1 : lien ODBC, requêtes SQL vers la base et édition des formulaires et ce uniquement sur Pc pour les raisons que j’ai évoqué).
      Il a l’énorme avantage d’être prêt à l’emploi… là où il faudrait un à deux jours pour le recréer…
      Attention, la version démo a une durée de 30 jours et n’active pas les Reader Extensions.

      en réponse à : Scinder un PDF en plusieurs PDF. – RÉSOLU #51501
      alex
      Participant

      Je crois qu’il serait bon d’intégrer à abracadabraTool X  un outil d’extraction plus élaboré que les actions basiques d’extraction d’Acrobat… Reste à voir quelles fonctionnalités… Les deux scripts que j’ai proposé ci-dessus peuvent être une base pour la version compatible avec Acrobat X.

      en réponse à : Scinder un PDF en plusieurs PDF. – RÉSOLU #51498
      alex
      Participant

      Avant de lancer le script de découpage, régler les préférences d’Acrobat PRO comme indiqué dans ce document.

      [attachment deleted by admin]

      en réponse à : Scinder un PDF en plusieurs PDF. – RÉSOLU #51497
      alex
      Participant

      1-Intégrer le script d’application (fourni ici après avoir changé l’extension .gif en .js):
      Script à utiliser avec Acrobat PRO 8,9,10 et à intégrer comme suit:
      Placement du script dans le répertoire JavaScript d’Acrobat sur PC à partir du bureau:
      C:/Programme/Adobe/Acrobat9.0/Acrobat/Javascript
      Placement du script dans le répertoire JavaScript d’Acrobat sur Mac, à partir du bureau:
      Aller>Applications>Adobe Acrobat  9 Pro>Adobe Acrobat Pro.app>
      Ctrl Clic > Afficher le contenu du paquet>Contents>MacOS>JavaScripts
      2-Régler les préférences d’Acrobat (voir document joint, preferencesJS.pdf)
      3-Ouvrir le document à traiter. Un nouvel item de menu apparaît dans le menu Document>Outils extraction>Extraction de toutes les pages.

      [attachment deleted by admin]

      en réponse à : Scinder un PDF en plusieurs PDF. – RÉSOLU #51495
      alex
      Participant

      Vous pouvez télécharger la version d’essai d’Acrobat PRO d’une durée d’un mois,c’est gratuit, ainsi vous  aurez largement le temps nécessaire à votre opération de découpage…
      http://acrobat.buy.fr.sem.adobe.com/content/a10_pro?sdid=IATYJ

      en réponse à : Scinder un PDF en plusieurs PDF. – RÉSOLU #51493
      alex
      Participant

      Si vous avez Acrobat PRO, un petit script adapté à votre problème fera l’affaire. Nous avons déjà traité un problème équivalent très recemment (PDF et Acrobat>extraction de fichiers pdf). Je vous fait ça comme contribution à la cause d’Hegalaldia.
      Si vous n’avez pas Acrobat PRO, l’affaire se corse.
      Quelle est votre situation?

      alex
      Participant

      Le lien vers la note technique étant rompu, voici les informations nécessaires à l’activation de la connexion ODBC sur PC:
      ADBC Support
      Acrobat Database Connectivity (ADBC) can now be turned on and off via a registry setting.
      To activate ADBC, create a registry key of type DWORD with the name “bJSEnable” and a value of “true” (1) in the following location:
      HKEY_CURRENT_USERSOFTWAREAdobeAdobe Acrobat8.0ADBC
      This activates ADBC in Acrobat 8.0. In previous releases of Acrobat, ADBC was active by default.
      In Acrobat 8.0, this setting has been changed to require user intervention to activate ADBC because most users do not want to have ADBC accessible from PDF.
      Windows shell command to activate ADBC:
      reg add “HKEY_CURRENT_USERSOFTWAREAdobeAdobe Acrobat8.0ADBC” /v bJSEnable /t REG_DWORD /d 1

      Bon courage.

      alex
      Participant

      Voici un exemple de connexion fourni par PlanetPDF:
      http://www.planetpdf.com/developer/article.asp?ContentID=6088

      Qu’il s’agisse de données provenant d’une table Excel ou Access, le principe est le même.

      alex
      Participant

      Les solutions:

      1-Sur Acrobat, avec du JavaScript:
      Sur Pc uniquement, il est possible d’automatiser le processus en utilisant l’objet ADBC d’Acrobat et en le connectant directement à Excel.
      Une requête SQL remplirait chaque formulaire. Il faudrait pour cela développer un script au niveau de l’application Acrobat qui travaillerait en contexte privilégié. pour effectuer les tâches suivantes:
      a-Formulaire ouvert.
      b-Connexion ODBC active
      c-Pour chaque item:
      c1-Requête des données item ( requeteSQL=”SELECT *  FROM Table “; )
      c2-Remplissage formulaire (une série de this.getField(“Champxx”).value=rowData[Champxx]; )
      c3-Enregistrement du formulaire sous un nom propre à l’enregistrement (à définir).
      Nota: pour rendre l’objet ADBC actif  dans Acrobat, il faut modifier une clé de registre. J’en ai déjà parlé ici.

      2-Sur un serveur Web avec un programme pHp associé à une base de données mySQL
      a-Importer le fichier Excel dans la base mySQL (attention auformat des dates).
      b-associer une classe pHp permettant de créer du pdf (par exemple FPDF si du PDF texte à plat convient)
      c-écrire un programme pHp effectuant pour chaque item les mêmes fonctionalités que le script JavaScript ci-dessus (c1,c2,c3)

      Je ne peux pas faire ça dans le cadre de ce forum. Désolé.

      en réponse à : Script extraction. – RÉPONDU #51444
      alex
      Participant

      Pas du tout, la version X sera unique et compatible avec les versions 8,9,X d’Acrobat. Seule différence avec ce que vous avez expérimenté, ll’item de lancement du script sera accroché au menu “Edition”, sous-menu “Outils Extraction”. D’autre items pourraient être ajoutés pour d’autres applications voisines ou le paramétrage.

      en réponse à : Script extraction. – RÉPONDU #51442
      alex
      Participant

      Merlin est en train de tester une version Acrobat X qu’il mettra en ligne dès que possible.

      en réponse à : Script extraction. – RÉPONDU #51439
      alex
      Participant

      Voici le script avec une extension .gif à changer en .js avant de le placer dans le répertoire de l’application.

      [attachment deleted by admin]

      en réponse à : Script extraction. – RÉPONDU #51438
      alex
      Participant

      1-Intégrer le script d’application (fourni dans le post suivant):
      Script à utiliser avec Acrobat PRO 8,9,10 et à intégrer comme suit:
      Placement du script dans le répertoire JavaScript d’Acrobat sur PC à partir du bureau:
      C:/Programme/Adobe/Acrobat9.0/Acrobat/Javascript
      Placement du script dans le répertoire JavaScript d’Acrobat sur Mac, à partir du bureau:
      Aller>Applications>Adobe Acrobat  9 Pro>Adobe Acrobat Pro.app>
      Ctrl Clic > Afficher le contenu du paquet>Contents>MacOS>JavaScripts
      2-Régler les préférences d’Acrobat (voir document joint, preferencesJS.pdf)
      3-Ouvrir le document à traiter. Un nouvel item de menu apparaît dans le menu Document>Outils extraction>Extraction.
      On peut choisir la page de coupe et le nom des deux fichiers résultants.

      Pour les curieux, ouvrir la console.

      [attachment deleted by admin]

      en réponse à : Script extraction. – RÉPONDU #51436
      alex
      Participant

      Pour que ce soit automatisé, il faut développer un script au niveau de l’application Acrobat (car il faut travailler en contexte privilégié pour effectuer les extractions et recréer des documents). Le mieux serait d’ajouter un outil à abracadabraTool. Je vais préparer une maquette à utiliser avec les versions 8,9,X, mais il faudra patienter jusqu’à lundi pour cause de surbooking JavaScript.

      alex
      Participant

      Le texte cible est mis à jour à chaque saisie du texte source, ici avec correction d’un petit bug de la version précédante (retard d’un digit à l’affichage).

      [attachment deleted by admin]

      alex
      Participant

      Une petite variante pour le fun et illustrer la gestion d’évènements dans Acrobat…

      [attachment deleted by admin]

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50727
      alex
      Participant

      Quelques remarques:
      1-Les différentes occurences du champ “uniteauto” embarqueront nécessairement la même valeur, c’est la raison pour laquelle mon script crée des champs de nom différents.
      2-Comme le script doit créer des pages et des champs, il doit fonctionner dans un contexte privilégié, c’est à dire au niveau de l’application Acrobat (répertoire JavaScript), ou dans un document édité avec certificat. J’ai choisi un script d’application car c’est plus simple à comprendre.
      3-Un autre solution différente de celle que je propose et reprenant une (très petite) partie de votre script, serait sans doute créer un batch qui incrémenterait les numéros et lancerait une impression (à plat) de billets page par page.
      4-var a = rPage; ça c’est nouveau en JavaScript! Pour passer de la page en cours à la page suivante:
      this.pageNum=this.pageNum+1;
      5-Nbre de pages/Nbre de tickets:

      Le must serais de créer un champs où remplir le nombre de page désiré en fonction du nombre de ticket (mais ça… je ne sais pas faire, d’où l’intérêt de ce post)

      C’est ce que fait la page PageMaster.pdf.
      6-Dans ma maquette, on peut sans doute changer le numéro du ticket de départ,il faudrait le mettre en paramètre dans la PageMaster.pdf
      7-Pour réduire la taille d’un fichier pdf afin de le joindre à un post, c’est simple et bien expliqué sur se site.

      Mon conseil: partez de ma maquette…

      en réponse à : Incrémenter un numéro automatiquement. – RÉSOLU #50723
      alex
      Participant

      Assurez-vous du paramétrage des préférences pour l’exécution des scripts JavaScript.
      Voir image jointe.

      [attachment deleted by admin]

    Affichage de 99 réponses de 298 à 396 (sur un total de 564)