Donnez vie à vos documents numériques !
 

Changer la couleur des textes lors de l’impression

abracadabraPDF Forums PDF – Général Changer la couleur des textes lors de l’impression

  • Ce sujet contient 7 réponses, 3 participants et a été mis à jour pour la dernière fois par jctremblay, le il y a 1 année.
  • Créateur
    Sujet
  • #70414
    jctremblay
    Participant

    Bonjour, 

    J’utilise deux javascript en Action (OnBlur/On Focus) pour mettre une texte de défaut en gris. Ex: « Cliquez ici »

    // On Focus script:
    if (event.target.value==event.target.defaultValue) { event.target.value = "";
    event.target.textColor = color.black; }

    // On Blur script:if (event.target.value=="") {
    event.target.value = event.target.defaultValue; event.target.textColor = color.ltGray;
    }

    Tout fonctionne à merveille. Sauf que si l’utilisateur ne remplit pas un champ, ce texte demeure lors de l’impression. Je recherche un script qui pourrait, seulement lors de l’impression, supprimer ces textes ou bien changer la couleur pour blanc ou transparente. J’ai essayé de définir une variable, et de changer la couleur dans une Action de document (…sera imprimé …a été imprimé). Le changement de couleur fonctionne une fois imprimé, mais pas avant l’impression.

    Comment puis, changer la couleur avant l’impression ou remplacer le texte de défaut partout ou il n’y a pas de texte. Puis revenir à la couleur/texte après l’impression?

     

Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Auteur
    Réponses
  • #70415
    bebarth
    Maître des clés

    bonjour,
    Il faut écrire un script d’action de document pour modifier les champs « lorsque le fichier sera imprimé » puis remettre les champs « lorsque le document a été imprimé ».

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #70417
    jctremblay
    Participant

    Il faut écrire un script d’action de document pour modifier les champs « lorsque le fichier sera imprimé » puis remettre les champs « lorsque le document a été imprimé ».

    C’est ce que j’ai essayé sans succès. Ce peut-il que je dois écrit mon script initial non pas dans une action (on blur/focus) mais en validation, ou calcul?

    #70418
    bebarth
    Maître des clés

    Non, il faut écrire les script en « Actions du document ».
    Le premier dans « Le document sera imprimé » où tu supprimes ou mets en blanc les champs dont les valeurs sont égales aux valeurs par défaut (si tu supprimes il faut mémoriser ces valeurs).
    Le second dans « Le document a été imprimé » ou tu remets les champs à l’identique d’avant impression.

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #70420
    jctremblay
    Participant

    Me reste donc, juste a trouver comment cibler l’ensemble des champs. je cherche… 😀

    #70432
    Merlin
    Maître des clés

    Bonjour Jean-Claude

     

    // CHANGER LA COULEUR DES TEXTES (PAR DÉFAUT) LORS DE L'IMPRESSION

    // ACTION DOCUMENT WILL PRINT
    var bSale = this.dirty;
    for (var i=0; i<this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    if (oFld.type == "text" && oFld.value == oFld.defaulValue) {
    oFld.value = "";
    }
    }
    this.dirty = bSale;

    // ACTION DOCUMENT DID PRINT
    var bSale = this.dirty;
    for (var i=0; i<this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    if (oFld.type == "text" && oFld.value == "") {
    oFld.value = oFld.defaulValue;
    }
    }
    this.dirty = bSale;

    #70450
    jctremblay
    Participant

    Merci Merlin! J’essai ça…

    #70465
    jctremblay
    Participant

    Salut Merlin, 
    Les codes fournis ne fonctionne pas. Les textes par défaut demeurent lors de l’impression. Voir le PDF pour test.

    Par contre, j’ai réussi à changer la couleur avec ses code-ci:

    //Will Print
    for (var i=0; i<this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    if (oFld.type == "text" && oFld.value == oFld.defaultValue) {
    oFld.textColor = color.white;
    }
    }

    //Did Print
    for (var i=0; i<this.numFields; i++) {
    var oFld = this.getField(this.getNthFieldName(i));
    if (oFld.type == "text" && oFld.value == oFld.defaultValue) {
    oFld.textColor = color.ltGray;
    }
    }

    Curieux de savoir pour quoi ton code ne fonctionne pas. 😀

    Attachments:
    You must be logged in to view attached files.
Affichage de 7 réponses de 1 à 7 (sur un total de 7)
  • Vous devez être connecté pour répondre à ce sujet.