Donnez vie à vos documents numériques !
 

bozaneaux

Toutes mes réponses sur les forums

Affichage de 5 réponses de 1 à 5 (sur un total de 5)
  • Auteur
    Réponses
  • en réponse à : Afficher/masquer des calques. – RÉSOLU #51227
    bozaneaux
    Membre

    Bonsoir,

    Je ne connais pas spécialement les calques.
    Pour afficher ou non une information, tu peux utiliser une variable dont le status hidden est à true ou à false.
    Exemple : j’affiche l’assurance ou non
    this.getField(“ASS_PORT”).checkThisBox(0,true); // c’est une case à cocher
    this.getField(“ASS”).hidden=true; (true ou false)  // c’est l’information assurance qui sera caché ou non suivant la case à cocher.

    Voici l’objet ASS (la définition du champ), elle pointe sur l’objet 63 qui est une image et elle sera affiché ou pas.
    134 0 obj
    </Subtype/Widget/MaxLen 1/F 4/FT/Tx/MK<<>>/Q 2/Ff 1 /T(ASS) /DA(/Normal 10 Tf 0 g )
    /AP<>>>
    endobj
    63 0 obj
    <>>>
    stream
    q 1 0 0 1 0 0 cm
    0.7569 0.8392 0.1843 rg
    0 0 m 85 0 l 85 14 l 0 14 l 0 0 l
    f* 8 w 1 J 1 j
    0.7569 0.8392 0.1843 RG
    0 0 m 85 0 l 85 14 l 0 14 l 0 0 l
    h S
    Q
    endstream
    endobj

    Tu peux voir l’exemple ici : http://www.pdfdynamiques.com/file/boncde_ws10881772.pdf.
    Voir en bas du PDF la case à côté de 2.90.

    Cordialement.

    en réponse à : Comment faire un pdf avec une page d’un site internet ? #51116
    bozaneaux
    Membre

    Bonsoir,

    La taille d’un PDF n’est pas tellement limité et il possible de faire d’autres formats que les formats français.
    Exemple : la déclaration d’impôt en Belgique est légèrement plus grande que le format A3.

    Sur un PDF, il est même possible d’écrire en dehors des pages !!!

    Quel est l’adresse de ton site ?

    en réponse à : Transfert variables entre PDF #51203
    bozaneaux
    Membre

    Pointer le contenu d’une variable sur une adresse URL de manière à avoir une base simulée

    Technique de programmation :
    – Soit une variable définie dans l’objet 17 de cette manière
      17 0 obj
      <>/Ff 1/T(M_DONNEE)/DA(/Normal 10 Tf 0 g) /V 39 0 R/DV 39 0 R>>
      endobj
    – Son contenu pointe sur l’objet 39 qui va à une adresse URL.
      39 0 obj
      <  /F <>>>
      stream
      endstream
      endobj
    – Le contenu donne ART, DES, PRIX1, PRIX5 grâce à un JavaScript.
      Il me reste à résoudre le problème de l’adresse URL qui n’est pas stable.

    en réponse à : Formulaire et formatage obligatoire #51204
    bozaneaux
    Membre

    Bonjour,

    Je te conseille d’aller voir sur mon site “WWW.PDFDYNAMIQUES.COM”.
    Tu peux ouvrir les PDF avec wordpad plutôt que acrobat reader.
    Les scripts sont en clairs à l’intérieur des PDF.

    Voici un exemple de gestion de date en javascript :
    <{ var Erreur = false;
      var V = event.target.name;
      var L = event.value.length;
      if (L < 10) Erreur = true;
      if (Erreur == false)
        { var E  = event.value;
          var J  = E.charAt(0) + E.charAt(1);
          var B1 = E.charAt(2);
          var M  = 0 + E.charAt(3) + E.charAt(4);
          var B2 = E.charAt(5);
          if (B1 != “/” || B2 != “/” || M < 1 || M > 12 || J < 1 || J > 31)
              Erreur = true;}
      if (Erreur == false)
        { var A  = E.charAt(6) + E.charAt(7) + E.charAt(8) + E.charAt(9);
          var N  = J + M + A;
          var cValid = “0123456789”;
          for (var i=0 ; i < 8 ; i++)
              {if (cValid.indexOf(N.charAt(i)) == -1)
                  Erreur=true; }}
      if (Erreur == false)
        { var B  = A % 4;
          if (M ==  2 && B == 0 && J > 29) Erreur = true;
          if (M ==  2 && B != 0 && J > 28) Erreur = true;
          if (M ==  4 && J > 30) Erreur = true;
          if (M ==  6 && J > 30) Erreur = true;
          if (M ==  9 && J > 30) Erreur = true;
          if (M == 11 && J > 30) Erreur = true;}
      if (Erreur == true && L != 0)
        { app.alert(“Date.invalide”);
          this.getField(V).setFocus();}
      if (Erreur == false)
        event.value = util.printx(“99/99/9999”, event.value);
    })>>

    Voici un objet contenant un champ, la longueur maximum est fixé à 10.
    this.getField(“ART”).length = 20 modifierait la longueur du champ à 20.
    25 0 obj
    </Subtype/Widget/MaxLen 10/F 4/FT/Tx/MK<<>>/Ff 8388608 /T(ART) /DA(/Normal 12 Tf 0 0 0.8 rg )
    /Type/Annot/AA<>
    >>
    endobj

    en réponse à : Transfert variables entre PDF #51201
    bozaneaux
    Membre

    Bonjour,

    Le débogueur de scripts JavaScript affiche :
    Lecture des données a et b

    NotAllowedError:Les paramètres de protection interdisent l’accès à cette propriété ou à cette méthode.
    Global.a:4:Field Lire:Mouse Up

    En fait lorsque j’utilise des variables globales persitantes, mes essais dans d’autres PDF fonctionnent bien pour la sauvegarde et la restauration dans le même PDF mais pas pour un autre.
    Exemple :
    <{  var Chp = “”;
      var F = this.documentFileName;
      var Fic = F.substring(0, F.length – 4);
      for ( var i = 0; i < this.numFields; i++)
          { var Nom = this.getNthFieldName(i);
            var f = this.getField(Nom);
            var Typ = f.type;
            if (f.type == “text” && f.richText)
              Typ = “button”;
            if (!this.getField(Nom).readOnly && Typ != “button”)
              switch(Typ)
                { case “text” :
                      Chp += this.getField(Nom).value + “//”;
                      break;
                  case “checkbox” :
                      if (this.getField(Nom).isBoxChecked(0))
                        Chp += “*On//”;
                        else
                        Chp += “*Off//”;
                      break;
                }
          }
      var Cmd = “global.” + Fic + “=Chp”;
      eval (Cmd);
      global.setPersistent(Fic, true);
    })>>

    <{ var F = this.documentFileName;
      var Fic = F.substring(0, F.length – 4);
      var Cmd = “Chp=global.” + Fic;
      eval (Cmd);
    //
      var tableau = Chp.split(‘//’);
      j = 0;
      for ( var i = 0; i < this.numFields; i++)
          { var Nom = this.getNthFieldName(i);
            var f = this.getField(Nom);
            var Typ = f.type;
            if (f.type == “text” && f.richText)
              Typ = “button”;
            if (!this.getField(Nom).readOnly && Typ != “button”)
              switch(Typ)
                { case “text” :
                    this.getField(Nom).value = tableau[j];
                    j += 1;
                    break;
                  case “checkbox” :
                    if (tableau[j] == “*On”)
                        this.getField(Nom).checkThisBox(0,true);
                        else
                        this.getField(Nom).checkThisBox(0,false);
                    j += 1;
                    break;
                }
          }
    })>>

    Remarques :
    Je n’utilise pas Acrobat mais Adobe Reader X.
    Il doit y avoir un paramètrage à faire au niveau d’Abobe  ?
    Sur mon site http://www.pdfdynamiques.com, si on utilise le PDF DECI_P1, cela fonctionne bien
    – Tu cliques sur sauver pour sauvegarder et sur Charger pour récupérer.
    Pour la version X d’Abode, je fais catualisation sur l’onglet d’internet car le PDF ne s’affiche pas directement.
    En version 8, pas de problèmes.

    Cordialement.

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