Donnez vie à vos documents numériques !
 

Impression personnalisée

abracadabraPDF Forums PDF – Général Impression personnalisée

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45232
    tofteuf
    Membre

    Bonjour à tous,

    après recherches et essais je n’arrive pas à finaliser l’impression d’un formulaire de deux pages dont je voudrais paramétrer l’impression via un script : bouton qui lance l’impression d’un exemplaire de ma première page puis x exemplaires de la page deux.

    x étant défini via un champ menu déroulant, le tout sans passer par le pilote de mon imprimante…
    je tâtonne, m’approche grâce à un script d’Alex, mais je n’obtiens qu’une impression de mes deux pages.

    Les demandes traitées sur le forum paraissent plus complexes, du coup je me sens un poil ridicule…

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Auteur
    Réponses
  • #59483
    Merlin
    Maître des clés

    Bonjour.

    Il y a longtemps que le ridicule ne tue plus et ta question n’a rien d’insolite.
    Par-contre il faudrait que tu précises mieux ta demande, surtout en ce qui concerne la valeur de x (de quoi dépend elle ?)

    :Smiley01:

    #59484
    tofteuf
    Membre

    Merci de ton retour rapide cher Merlin,
    Mon formulaire de deux pages est trop lourd pour l’uploader sur le forum…
    Mon objectif est donc de lancer l’impression avec le bouton ad-hoc prévu en page une (“valider le dossier de fabrication”) : un ex de la page une et x exemplaires de la page deux, défini par le nombre de destinataires de ma commande du champs “Nb destinataires” (en page 2- variable de 0 à 6), augmenté de un:
    si 2 destinataires, 3 BL; si 4 destinataires, 5 BL,… Mon imprimante s’appelle “IBAA0009 sur imp-bata”.

    Ma base de travail est ce script d’Alex, prévu pour une demande plus complexe, je peine à faire le ménage dans le code et à  l’adapter pour ma demande :

    console.clear();
    Initialisation();
    console.println(“Contrôle de l’imprimante utilisée:”)
    ppp=this.getPrintParams();
    console.println(“Nom de l’imprimante effectivement utilisée:””+ppp.printerName+”””);
    indexpage=0;
    while (indexpage{
        if(this.getField(“ccpage.”+indexpage).isBoxChecked(0))
        {
        pp=indexpage+1;
            if(pp!=10)
            {
                try
                {
                console.println(“Impression de la page:”+pp);
                this.print(false,indexpage,indexpage);
                }
                catch(e)
                {
                app.alert(“Impression page “+pp+” impossible.”,1);
                }
            }
            else
            {
            ex=0
                while(ex            {
                    try
                    {
                    console.println(“Impression de la page:”+pp+” exemplaire “+(1+ex));
                    this.print(false,indexpage,indexpage);
                    }
                    catch(e)
                    {
                    app.alert(“Impression page “+pp+” impossible.”,1);
                    }
                ex=ex+1;
                }
            }
        }
    indexpage=indexpage+1;
    }

    //console.show();

    #59485
    bebarth
    Maître des clés

    bonjour,
    voici un script et un fichier joint qui pourront vous aider à personnaliser votre demande. Ce script est tiré de celui d’Alex.
    dans cette exemple, uniquement la page 1 est imprimée si le le nombre d’exemplaires demandé est 0 ! A modifier si vous souhaiter qu’aucune page ne soit imprimée si 0.
    console.clear();
    console.println(“Contrôle de l’imprimante utilisée:”)
    var ppp=this.getPrintParams();
    console.println(“Nom de l’imprimante effectivement utilisée:””+ppp.printerName+”””);
    nbrePagesImprimees=1;
    pp=0
    nbreEx=this.getField(“NbrePages”).value;
        if(nbreEx>0)
    //On rajoute 1 page
    nbreEx=nbreEx+1
        {
        console.println(“Impression page 1”);
        this.print(false,0,0); // impression page 1 à 1
        ex=0;
        console.println(“Impression page 2”);
            while(ex        {
                try
                {
                this.print(false,1,1); // impression page 2 à 2
                ex=ex+1;
                nbrePagesImprimees=nbrePagesImprimees+1;
                console.println(“Exemplaire numéro “+ex+ “/”+nbreEx)
                }
                catch(e)
                {
                ex=nbreEx;
                }
            }
        }
    app.alert(nbrePagesImprimees+” pages imprimées au total.”,3);
    //console.show();

    @+
    :geek:

    #59486
    bebarth
    Maître des clés

    …après relecture, la ligne pp=0 ne sert à rien dans ce script !
    @+

    #59487
    tofteuf
    Membre

    Bonjour Bebarth…
    Et merci, c’est tout à fait çà  :bravo: :bravo: :bravo:

    #59488
    tofteuf
    Membre

    Une petite idée pour ajuster ma première page à 97%, mon cadre est un peu près du bord et le réglage par défaut de l’imprimante n’est pas pris en compte.

    #59489
    tofteuf
    Membre

    Le boulet en veut encore plus : masquer un champs labelisé “ORIGINAL” de la deuxième page après impression du premier exemplaire ! Le truc de ouf  :Ooops:

    #59490
    bebarth
    Maître des clés

    je ne sais pas comment imprimer à 97 %, mais on peut ajuster la page.
    il faut remplacer la ligne :
        this.print(false,0,0); // impression page 1 à 1
    par :
        this.print({bUI:false,bShrinkToFit:true,nStart:0,nEnd:0}); // impression page 1 à 1 ajustée

    pour masquer le champ c’est aussi possible, mais je verrai ça un peu plus tard !
    @+

    #59491
    tofteuf
    Membre

    Merci de ton aide précieuse  :bravo: :bonjour:

    #59492
    bebarth
    Maître des clés

    Le paramètre “display” d’un champ permet cacher ou voir ce champ à l’écran et/ou à l’impression.
    Field is visible on screen and in print              display.visible
    Field is hidden on screen and in print            display.hidden
    Field is visible on screen but does not print    display.noPrint
    Field is hidden on screen but prints                display.noView
    @+
    :geek:

    #59493
    tofteuf
    Membre

    Trop fort, c’est simplement parfait  :jerisjaune: :jerisjaune:
    Merci Bebarth

Affichage de 11 réponses de 1 à 11 (sur un total de 11)
  • Vous devez être connecté pour répondre à ce sujet.