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 :

Ajuster la taille à l'impression [Débutant]


Sujet :

Windows Forms

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur Biomédical
    Inscrit en
    Octobre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur Biomédical
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Ajuster la taille à l'impression
    Bonjour,

    Mon programme doit permettre d'imprimer une copie d'écran d'un formulaire. Le code suivant fonctionne, mais la copie d'écran semble trop grande, du coup je n'ai qu'un morceau qui apparait dans l'aperçu avant impression (cf la piece jointe) et c'est pareil lors de l'impression.
    Y'a t'il un paramètre qui permet d'ajuster automatiquement la taille du document à celle du papier ?
    D'autre part, j'aimerai que la copie d'écran ne prenne que l'intérieur de la fenêtre, sans les menus et les barres d'outils, comment puis-je faire cela ?

    Merci d'avance pour votre aide.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    private void MenuImprimer(object sender, EventArgs e)
            {
     
                PrintDocument printDocument1 = new PrintDocument();
                printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
     
                PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
                printDocument1.DefaultPageSettings.Landscape = true;
                printDocument1.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("PaperA4", 826, 1169);
     
     
                printPreviewDialog1.Document = printDocument1;
     
                CaptureScreen();
                printPreviewDialog1.ShowDialog();
     
            }
     
            private void printDocument1_PrintPage(System.Object sender,System.Drawing.Printing.PrintPageEventArgs e)
            {
                e.Graphics.DrawImage(memoryImage, 0, 0);
            }
     
            Bitmap memoryImage;
     
            private void CaptureScreen()
            {
                Graphics myGraphics = this.CreateGraphics();
                Size s = this.Size;
                memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
                Graphics memoryGraphics = Graphics.FromImage(memoryImage);
                memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
     
            }
        }
    Images attachées Images attachées  

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur Biomédical
    Inscrit en
    Octobre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Ingénieur Biomédical
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2012
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Je crois que j'ai trouvé... ci-dessous le code corrigé.
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
            private void MenuImprimer(object sender, EventArgs e)
            {
     
                PrintDocument printDocument1 = new PrintDocument();
                printDocument1.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
     
                PrintPreviewDialog printPreviewDialog1 = new PrintPreviewDialog();
                printDocument1.DefaultPageSettings.Landscape = true;
                printDocument1.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("PaperA4", 826, 1169);
     
     
                printPreviewDialog1.Document = printDocument1;
             /*   printPreviewDialog1.PrintPreviewControl.AutoZoom = true;*/
                FormBorderStyle = FormBorderStyle.None;
                menuStrip1.Visible = false;
     
                Refresh();
                CaptureScreen();
                FormBorderStyle = FormBorderStyle.Sizable;
                menuStrip1.Visible = true;
                printPreviewDialog1.ShowDialog();
     
            }
     
            private void printDocument1_PrintPage(System.Object sender,System.Drawing.Printing.PrintPageEventArgs e)
            {
                e.Graphics.DrawImage(memoryImage, 0, 0);
            }
     
            Bitmap memoryImage;
     
            private void CaptureScreen()
            {
                Graphics myGraphics = this.CreateGraphics();
                Size s = this.Size;
                memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
                memoryImage.SetResolution(165, 165);
     
            /*    memoryImage = new Bitmap(memoryImage1, new Size(s.Width / 2, s.Height/2)); */
                Graphics memoryGraphics = Graphics.FromImage(memoryImage);
                memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
     
            }
        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CSS Impression -> Ajuster la taille de la page
    Par ferensy dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 25/02/2008, 18h39
  2. Comment modifier la taille d'impression d'un Etat
    Par le_sniper dans le forum Access
    Réponses: 5
    Dernier message: 04/04/2006, 14h23
  3. Réponses: 9
    Dernier message: 13/09/2005, 18h14
  4. [JTable] ajuster la taille d'une colonne à la taille du texte
    Par GETah dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 24/02/2005, 12h53

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