Donnez vie à vos documents numériques !
 

psykolivier

Toutes mes réponses sur les forums

Affichage de 35 réponses de 1 à 35 (sur un total de 35)
  • Auteur
    Réponses
  • psykolivier
    Membre

    Merlin,

    Très informatif le PDF exemple, mais on peut pas bidouiller ton JS pour voir comment tu as fait  :Smiley01:

    Bon, sinon mon script fonctionne plutôt bien.
    Seul bémol, l’extraction de page génère un PDF “temporaire” avec un nom très… aléatoire !  :Euuuh:

    Je suis en train de tester différentes méthodes pour pour renommer le PDF.
    Mais ça sent encore la complication ^^

    psykolivier
    Membre

    Ah ? j’ai essayé un mailto et cela n’a rien donné.
    Bon j’ai dû faire une fausse manip !

    J’étais en train de tester un truc du genre

    Code:
    var TempDoc = this.extractPages({nStart: 2, nEnd: 3});
    TempDoc.mailDoc(true, “mail du destinataire”, “mail en CC”, “mail en BCC”, “Corps du message”, “Sujet du mail”);
    TempDoc.closeDoc(true);

    Le comportement est un peu… particulier, mais cela semble fonctionner.

    Merci pour ton lien, je vais regarder cela de suite !!!

    psykolivier
    Membre

    Hum… alors oui effectivement :)
    Je viens de voir qu’en passant par la commande :
    ENVOYER UN FORMULAIRE, il y a les options FDF, HTML, XFDF, Document intégral PDF.

    Sauf que là, c’est j’imagine pour des traitements de données et l’envoi via un serveur ?
    Car il faut saisir un URL !?

    Moi j’étais tout simplement parti d’un script JS tout simple this.mailDoc(…blabla…);

    psykolivier
    Membre

    Merlin,

    Merci tout d’abord pour ta réponse.

    Oui oui, le PDF est réalisé avec Acrobat PRO.

    Alors… concernant l’export en FDF ou XFDF puis après traiter les données… oula :)
    C’est au delà de mes compétences !!!
    Et puis c’est surtout que ce PDF allégé est destiné à un “tout public”, donc l’idéal est qu’il est un PDF imprimable.

    en réponse à : CheckBox : colorer la bordure #57632
    psykolivier
    Membre

    Essayes sans, d’autant que pour le coup, construire un array ne sert pas à grand-chose.

    Si un peu quand même, j’ai un quantité de champs !!
    Et ca evite de faire des conditions pour chaque champs.
    Une boucle et hop !

    en réponse à : CheckBox : colorer la bordure #57630
    psykolivier
    Membre

    je ne saurais te dire…

    J’ai modifier ton PDF, pour tester en mettant les CheckBox dans un ARRAY

    var chobliZ = new Array() ;
    chobliZ[0] = “Check Box7” ;

    for (var co = 0 ; co < chobliZ.length ; co++) {
        if (this.getField(chobliZ[co]).value == “”) {
            this.getField(chobliZ[co]).lineWidth = 1 ;
            this.getField(chobliZ[co]).strokeColor = color.red;
        } else {
            this.getField(chobliZ[co]).lineWidth = 1 ;
            this.getField(chobliZ[co]).strokeColor = color.transparent;
        }       
    }

    Et là, il ne se passe rien.
    Donc le soucis, viendrait de là  :doute:

    en réponse à : CheckBox : colorer la bordure #57629
    psykolivier
    Membre
    Code:
    this.getField(ChOblig[co]).lineWidth = 2 ;

    Par-contre cette ligne m’apparait inutile car le script passe son temps à mettre le contour sur 2 points quel que soit le cas.
    Il suffirait peut être de le fixer à 2 points au départ et de le laisser tel quel ensuite.

    Oui je suis 100% tout à fait parfaitement totalement d’accord.
    Mais euh… autant j’ai vu qu’on pouvait mettre du JS sur une page (qui donc s’excute à chaque fois qu’on retourne sur cette page).
    Mais globalement sur le doc c’est possible aussi ?

    en réponse à : SPAWN de page template et Adobe Reader #57653
    psykolivier
    Membre

    Ok merci Merlin.
    Bon au moins c’est clair et net et précis….

    Bonjour,

    Ca peux effectivement fonctionner avec Reader X et versions antérieures, mais :

    – soit c’est un PDF-XFA créé avec LiveCycle Designer,
    – soit il doit bénéficier des “super” droits étendus délivrés par les serveurs Adobe LiveCycle, mais ça coûte plus que les deux bras.

    Voir aussi ce nouvel article : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/dupliquer-des-pages-dans-un-formulaire-pdf/

    en réponse à : SPAWN de page template et Adobe Reader #57650
    psykolivier
    Membre

    Bon, le this.insertPages() ne semble pas la bonne solution… maintenant que j’ai compris que c’était pour appeler à partir d’un autre fichier.

    A priori, la solution n’est pas dans les pièces jointes non plus.

    Sur les forums LiveCycle, je vois souvent : .presence = “hidden”;

    en réponse à : SPAWN de page template et Adobe Reader #57649
    psykolivier
    Membre

    [font=verdana, arial, sans-serif]Oui… sauf que j’ai un fichier PDF (protégé) où l’apparition de page fonctionne parfaitement sur Reader version 10.[/font]

    [font=verdana, arial, sans-serif]Alors, peut-être est-ce une astuce autre que SPAWN.[/font]
    [font=verdana, arial, sans-serif]Mais les pages sont invisibles à l’ouverture, et lors du choix dans le menu déroulant, les pages apparaissent.[/font]

    en réponse à : SPAWN de page template et Adobe Reader #57647
    psykolivier
    Membre

    Fonctionne très bien sur PRO.
    Mais pas sur Reader X, meme “Extend Reader” > “Activer les options supplémentaires”

    :mur:

    Je vais tester avec la fonction this.insertPages()

    en réponse à : SPAWN de page template et Adobe Reader #57646
    psykolivier
    Membre

    Woah, merci d’avoir pris le temps :)
    je reste cela de suite !

    en réponse à : SPAWN de page template et Adobe Reader #57644
    psykolivier
    Membre

    Il est “protégé”, impossible de voir les sources du javascript.
    Et c’est un peu délicat de le rendre public :/ c’est du domaine banquaire.

    Sinon, je suis tombé sur ce lien :
    http://www.pdfshareforms.com/wp-content/uploads/2013/03/Showing-and-hiding-document-pages-using-Client-side-Scripting.pdf

    Où il est évoqué :

    if (Default.resolveNode(“#subform[1]”).presence ==”hidden”) {
    Default.resolveNode(“#subform[1]”).presence=”visible”;
    } else {
    Default.resolveNode(“#subform[1]”).presence=”hidden”
    }

    en réponse à : SPAWN de page template et Adobe Reader #57642
    psykolivier
    Membre

    J’ai Acrobat Reader X.

    Oui, je lis ici et là, que cela ne peut fonctionner que sur PRO et à partir de READER XI.
    Mais je sais que c’est possible, car j’ai obtenu un fichier PDF exemple où l’apparition de page fonctionne.

    Aussi bien sur Pro que Reader.

    Alors, peut-être que ce n’est pas du SPAWN.
    Mais simplement des pages cachées, qui sont ensuite rendu visible ?

    en réponse à : Copie de valeur finissant avec un point "." #57640
    psykolivier
    Membre

    Oui, il y a bien les 2 valeurs.
    Arf, sur mon iPad je peux pas joindre de fichier :/

    en réponse à : CheckBox : colorer la bordure #57627
    psykolivier
    Membre

    Je vais mettre sur le compte du ARRAY.

    Car je créé un ARRAY pour lister mes champs obligatoire.

    var ChOblig = new Array() ;
    ChOblig[0] = “FIELD_A” ;
    ChOblig[1] = “FIELD_B” ;

    Et après une boucle

    for (var co = 0 ; co < chobli.length ; co++) {
        if (this.getField(ChOblig[co]).value == “”) {
            this.getField(ChOblig[co]).lineWidth = 2 ;
            this.getField(ChOblig[co]).strokeColor = color.red ;
        } else {
            this.getField(ChOblig[co]).lineWidth = 2 ;
            this.getField(ChOblig[co]).strokeColor = color.transparent ;
        }       
    }

    en réponse à : CheckBox : colorer la bordure #57625
    psykolivier
    Membre

    Mouhahaha  :mur:

    Ca fonctionne bien avec ton PDF !

    en réponse à : CheckBox : colorer la bordure #57623
    psykolivier
    Membre

    OK, merci pour l’info…
    très bizarre alors que moi ca ne fonctionne pas…

    en réponse à : CheckBox : colorer la bordure #57621
    psykolivier
    Membre

    Bonjour,

    Il y a un bug quelque part, normalement ça fonctionne très bien, y compris sur les cases-à-cocher.
    :joker:

    Hum… alors peut-être parce que j’ai des cases à cocher qui ont le même nom ?
    (oui des cases à cocher qui fonctionne comme des boutons radio)

    en réponse à : Validation champs obligatoires – RÉSOLU #52971
    psykolivier
    Membre

    Pas trouvé de solution sur le net… j’ai suis donc passé par ARRAY

    var ChOblig = new Array() ;
    ChOblig[0] = “FIELD_A” ;
    ChOblig[1] = “FIELD_B” ;
    etc…

    Un peu fastidieux, mais seul solution pour le moment

    en réponse à : Validation champs obligatoires – RÉSOLU #52970
    psykolivier
    Membre

    Je me permets de rebondir sur ce sujet déjà créer.

    Concernant le script que l’on peut trouver sur le lien :

    Code:

    function validateFields() {

    //a counter for the number of empty fields
    var flg = 0

    // count all the form fields
    var n = this.numFields

    //create an array to contain the names of required fields
    //if they are determined to be empty

    var fArr = new Array();

    //loop through all fields and check for those that are required
    // all fields that have a ‘*’ in their tool tip are required

    for(var i = 0;i0){
    app.alert(‘There are ‘+flg+’ fields that require a valuenn’+ fArr,3)
    }
    else{
    this.print();
    }

    }

    validateFields();

    Cela check TOUS les champs en supposant qu’ils sont tous obligatoire.
    Il n’y a donc pas de trie entre les champs obligatoire et les champs NON obligatoire.

    Existe-t-il un moyen semblable de controler uniquement les champs obligatoires ?
    Sans avoir à tous les lister 1 à 1 ? Car ca peut vite devenir fastidieux, et donc source d’erreur :/

    psykolivier
    Membre

    Ah !?
    Très bonne info ça !
    Je n’aurais pas cru qu’un JS d’un PDF aurait pu agir sur un autre fichier ouvert.

    en réponse à : Export PDF pour compatibilité #57590
    psykolivier
    Membre

    Hum… ok effectivement, cela est plus compliqué qu’il ne me paraissait.

    psykolivier
    Membre

    Great !
    Merci pour l’info !!!

    en réponse à : Détecter le nombre du duplication d’un template (modèle) #57527
    psykolivier
    Membre

    OK, je vais suivre ton conseil alors :)

    en réponse à : Dupliquer une page grâce à une liste déroulante #57513
    psykolivier
    Membre

    Une bonne galère en perspective.

    LoL ok :)

    en réponse à : Dupliquer une page grâce à une liste déroulante #57511
    psykolivier
    Membre

    Hello,

    Je viens de tester ton fichier d’exemple, avec la duplication de template (modèle).
    Cette partie là c’était OK.
    Mais comment faire pour savoir combien de duplication ont été créé au total ?

    un truc du genre  : template(“MonModele”).count  :idee:

    /// EDIT ///

    Ceci étant, le sujet initial de la duplication est réglé :)

    Mon code un peu tordu :

    Code:
    //ADHERENTS
    var NewPageA = getTemplate(“ADHERENT”);
    var NewPageB = getTemplate(“ADHERENT_COMPLETEMENT”);
    var TotalAdherents = this.getField(“NOMBRE_ADHERENTS”).value;

    var j = pageNum;

    if (TotalAdherents > 0) { 
      for (var i =0; i < TotalAdherents; i++)  {
          NewPageA.spawn({nPage: j + 1, bRename: false, bOverlay: false});
          NewPageB.spawn({nPage: j + 2, bRename: false, bOverlay: false});
          j = j+2; 
      }
    }

    Je me permets d’ouvrir un autre sujet pour la suite de mon questionnement :)

    en réponse à : Dupliquer une page grâce à une liste déroulante #57509
    psykolivier
    Membre

    Pour l’ordre de “spawn” des pages, j’ai fais un truc pas très propre… mais qui fonctionne.

    Code:
    //ADHERENTS
    var NewPage = getTemplate(“ADHERENT”);
    var TotalAdherents = this.getField(“NOMBRE_ADHERENTS”).value;

    var j = pageNum;

    if (TotalAdherents >= 0) {
      for (var i =0; i < TotalAdherents; i++)  {
          NewPage.spawn({nPage: j + 1, bRename: false, bOverlay: false});
          j = j+1;
      }
    }

    Me reste mon soucis de pages en trop :/

    en réponse à : Dupliquer une page grâce à une liste déroulante #57508
    psykolivier
    Membre

    Ca avance, ca avance…

    Voici mon état d’avancement.

    – Ma PAGE 1 présente une formulaire qui permet entre autre de choisir le nombre d’adhérents (jusqu’à 6) – régler à 0 à l’ouverture.
    – Ma PAGE 2 est nommée en template ADHERENT
    – Ma PAGE 2 est cachée, pour ne pas être visible à l’ouverture

    – Sur ma PAGE 1, je valide mon formulaire par un bouton et une action javascript.
    Avec notamment cette partie, pour afficher/créer autant de fiche adhérent que nécessaire :

    Code:
    //ADHERENTS
    var NewPage = getTemplate(“ADHERENT”);
    var TotalAdherents = this.getField(“NOMBRE_ADHERENTS”).value;

    if (TotalAdherents >= 0) {
    for (var i =0; i < TotalAdherents; i++)  {
    NewPage.spawn(numPages,true,false);
    }
    }

    De base, ca fonctionne.
    Mais 2 points me posent encore un petit soucis.

    1 : les pages ajoutées s’ajoutent à la fin de mon PDF.
    Or, cela doit s’ajouter après la page 1.
    J’imagine que cela se joue avec “numPages”, mais je ne pige pas très bien le principe avec true, false :/

    2 : Si au départ, j’ai choisir 2 adhérents, cela m’ajoute 2 fiches : OK
    Mais si finalement je veux mettre 3, cela m’ajoute +3 fiches.
    Je m’en retrouve donc avec 5 !
    Arf… je ne trouve pas comment détecter le nombre de fiche déjà “spawner” pour ne créer que les supplémentaires, et par reprendre à 0.

    Et effet inverse.
    Si j’avais choisi 3, cela me créé 3 fiches.
    Mais si je change à 2, cela me rajoute 2 fiches.
    Donc au total 5 fiches.
    Alors que l’idéal serait de détecter le nombre déjà de fiches déjà “spawner” pour supprimer celle(s) en trop.

    Bref… dans les 2 cas, c’est une détection de nombre total de fiche déjà présentes.

    en réponse à : Dupliquer une page grâce à une liste déroulante #57507
    psykolivier
    Membre

    Seulement, je n’ai pas encore trouvé où nommer mes pages-templates. Je n’ai pas cette option dans mes outils.

    Pour ce point c’est trouvé !
    Bien caché :)

    Dans le tout petit icône “Afficher ou masquer les panneaux”.
    Et activer “Traitement du document”

    J’avais jamais autant trifouiller dans Acrobat :)

    Bon reste à faire la suite…

    en réponse à : Dupliquer une page grâce à une liste déroulante #57506
    psykolivier
    Membre

    J’avance dans ma recherche…

    A priori, il faut pouvoir nommer les pages pour pouvoir les identifier en template (un simple “Page 2” ne semble pas convenir).
    Et ensuite, utiliser “spawn” pour dupliquer la page.

    Par exemple :
    var MyTemplate;
    MyTemplate = this.getTemplate(“AssoAdhesion”);
    MyTemplate.spawn (this.pageNums);

    Seulement, je n’ai pas encore trouvé où nommer mes pages-templates. Je n’ai pas cette option dans mes outils.

    Et je ne comprends pas trop l’intérêt de “pageNums” :/

    en réponse à : Dupliquer une page grâce à une liste déroulante #57505
    psykolivier
    Membre

    Arf OK.
    Bon d’un côté ca me rassure, j’ai tellement trifouillé du script sans réussir :)

    J’ai cru comprendre qu’il était possible de “cacher” des pages.
    Autrement-dit, il serait possible d’avoir la même page 4 fois, toute cacher.
    Et grâce au choix du menu déroulant, les rendre visibles… je vais testouillé vers cette piste.

    en réponse à : Dupliquer une page grâce à une liste déroulante #57503
    psykolivier
    Membre

    La conception du formulaire est faites avec Acrobat Pro oui.

    Mais la consultation sera faire avec Acrobat Reader dans la très grande majorité des cas je pense.
    C’est là que ça coince ?

    en réponse à : Champ de texte, gérer l’interlettrage pour des nombres #57501
    psykolivier
    Membre

    Aaaaah OK :)
    Merci Merlin.

    Ca va m’être pratique cette option.
    Mais cela manque quand même d’une gestion de texte un peu plus élaboré dans Acrobat Pro.

    en réponse à : Cases-à-cocher : comportement de boutons-radio #57499
    psykolivier
    Membre

    Merci Merlin !

    Effectivement, trop facile maintenant :)

Affichage de 35 réponses de 1 à 35 (sur un total de 35)