IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Impressions : nombre de pages total pieds de page


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut Impressions : nombre de pages total pieds de page
    Bonjour,

    J'ai un énorme soucis que je n'arrive pas à résoudre...

    En gros, j'effectue une impression de données (strings, images, tableaux) le tout mélangé, j'effectue une impression (le printpage contient une sorte de compteur permettant de dire qu'elle fonction effectuer) qui fonctionne correctement.

    Mon soucis est désormais tout autre, j'aimerais connaitre le nombre de pages total pour l'afficher en pieds de page.

    En c# cette fonctionnalité n'est pas proposée (on doit fait un printline donc on ne peut pas lui donner une variable ou il prendra cette valeur à la fin).

    J'aimerais donc savoir s'il est possible, une fois le document généré (en print() et en printPreview()), de reparcourir ses pages et de lui mettre le pieds de page correct.

    Pour le cas où vous ayez une solution, je vous en remercie d'avance

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    je suis pas sûr mais il me semble que pour avoir le nombre de pages, soit tu passes par un printpriview soit tu simules l'impression pour avoir un compteur puis ensuite tu réimprimes vraiment
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Au début j'avais effectué la solution que tu as cité : le printPreview ne contient pas le nombre de pages total affichées, mais quand tu imprimes il le contient, mais cela ne va pas au client...
    De plus cette méthode implique qu'il ne change pas de présentation de page (paysage/portrait).

    Pour simuler une première impression bah, je ne vois guère comment faire.

    J'ai essayé de, lors d'une fin d'impression (l'évènement end_printing), de cancel la précédente, de réimprimer ensuite mais ca me demande d'imprimer deux fois (probable que je doive donc le gérer à la fin fin de mon action printPage).

    Si il y a des idées je suis preneur et merci Louis-Guillaume

    Edit : pour le printPreview, j'ai tenté d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
            void printDocument1_EndPrint(object sender, PrintEventArgs e)
            {
                PrintDocument document = (PrintDocument)sender;
                if (this.totalPage != this.numPage)
                {
                    //e.Cancel = true;
                    this.printPart = 1;
                    PrintDocument doc = (PrintDocument)sender;
                    this.totalPage = this.numPage;
                    if (doc.PrintController.IsPreview)
                    {
                        this.printPreview.PrintPreviewControl.InvalidatePreview();
                        this.printPreview.PrintPreviewControl.Update();//test ne faisant rien
                        this.printPreview.PrintPreviewControl.Refresh();//test ne faisant rien
                        this.printPreview.Refresh();//test ne faisant rien
                        this.printPreview.Update();//test ne faisant rien
                    }
                    else
                    {
                        doc.Print();
                    }
                }
            }
    mais il ne raffraichit rien (il ne relance pas le print pour la prévisualisation alors qu'il passe bien par this.printPreview.printpreviewcontrol.invalidatePreview()). Je ne vois pas ce qu'il se passe (seule possibilité est que je suis dans le endprint donc je ne peux pas faire ce que je fais :!)

    Merci encore pour votre aide ou vos avis

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 98
    Points : 60
    Points
    60
    Par défaut
    Après une quinzaine de jours toujours pas la solution miracle...

    Quelqu'un a t'il déja manipulé les PrintPreview et Print ? (quand on clique sur print il marque le nombre de pages en cours de génération, il faudrait le masquer et générer une première fois mon document, puis le régénérer avec le nombre de pages total connu).

    En espérant qu'un de vous puisse éclairer ma lanterne

    Merci

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2015, 18h30
  2. Impression - page x sur y (nombre de pages total)
    Par feralp dans le forum VB.NET
    Réponses: 7
    Dernier message: 27/02/2014, 11h38
  3. Réponses: 3
    Dernier message: 07/02/2011, 17h12
  4. Réponses: 0
    Dernier message: 06/10/2009, 13h02
  5. Erreur d'impression : Nombre de pages illimité
    Par seljack dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2006, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo