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 :

[c#]Impression différente de A4


Sujet :

Windows Forms

  1. #1
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut [c#]Impression différente de A4
    Bonjour,

    J'arrive (très bien) à imprimer le contenu de mon formulaire en A4, mais impossible de l'imprimer correctement dans des formats différents...

    Je redimensionne bien mon panel au dimensions qu'il faut, mais quand j'imprime (après avoir modifié les paramètres d'impressions), c'est toujours une feuille A4 qui sort...
    Avec une "vraie" imprimante, avec Office Document Image Writer, et avec l'aperçu avant impression.

    Voici mon code, vous pourrez peut être me dire ce que j'ai raté...
    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
     
    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
            {
                e.Graphics.DrawImage(getBmp(), 0, 0);
            }
     
    public void print()
            {
                PageSettings ps = new PageSettings();
                PrintDialog pdlog = new PrintDialog();
                pdlog.Document = printDocument1;
                ps.Landscape = true;
                printDocument1.DefaultPageSettings = ps;
                if (pdlog.ShowDialog().Equals(DialogResult.OK))
                {
                    //w et h sont inversés, vu que j'imprime en paysage
                    int w = Convert.ToInt32(this.printDocument1.PrinterSettings.DefaultPageSettings.PrintableArea.Height-40);
                    int h = Convert.ToInt32(this.printDocument1.PrinterSettings.DefaultPageSettings.PrintableArea.Width);
                    this.Height = h;
                    this.Width = w;
                    PrintPreviewDialog ppd = new PrintPreviewDialog();
                    ppd.Document = printDocument1;
                    ppd.ShowDialog();
                    this.printDocument1.Print();
                }
            }
    Merci d'avance pour vos réponses

  2. #2
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                PageSettings ps = new PageSettings();
                PrintDialog pdlog = new PrintDialog();
                pdlog.Document = printDocument1;
                ps.Landscape = true;
                // printDocument1.DefaultPageSettings = ps;
    J'aimes pas ça! écraser la DefaultPageSettings. Essais de la modifiée car il se peut que ton problème réside dans l'écrasement des valeurs par défaut contenus dans cet objet.

    Bonne continuation.

  3. #3
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    j'avais trouvé parce que ça marche maintenant, mais je me rappelle plus ce que j'ai fait....
    Il me semblait que c'était un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ps.papersize = printDocument1.PrinterSettings.DefaultPageSettings.PaperSize
    mais je le retrouve plus dans mon code...
    bref ça marche : j'ai le bon format de papier, mais maintenant mon problème c'est que je n'arrive pas à agrandir suffisamment ma fenêtre pour l'impression en A3...
    ses dimensions maximales sont 1292x1036, ce qui correspond à ma résolution actuelle (1280*1024) +12px.

    J'ai vérifié, et la taille maximale de la fenêtre correspond bien à la résolution actuelle + 12px.

    Le problème étant que mon logiciel va être utilisé pour sur des PC qui auront une résolution de 1024*768, qui est donc trop faible pour du A3, mais surtout trop juste pour imprimer en A4.

    Auriez-vous une solution à ce problème?

  4. #4
    Modérateur
    Avatar de toopac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 940
    Points : 2 913
    Points
    2 913
    Par défaut
    finalement j'ai tout mis dans un panel lui même dans le formulaire, et c'est lui que j'agrandis. (il faut bien sûr mettre l'attribut AutoScroll du formulaire à 'true' au moins le temps de l'impression).

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

Discussions similaires

  1. [TinyMCE] Affichage HTML et impression différents
    Par Enthau dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 26/06/2009, 08h50
  2. Affichage HTML et impression différents
    Par Enthau dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/06/2009, 18h05
  3. impression différente qu'à l'écran
    Par goldvin dans le forum Word
    Réponses: 1
    Dernier message: 30/12/2008, 00h37
  4. impression différente sous Firefox et IE pour une large page
    Par manaboko dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 15/09/2006, 19h11
  5. [Etat] Impression différente de l'aperçu
    Par Mors_Ubyte dans le forum IHM
    Réponses: 5
    Dernier message: 08/01/2006, 16h26

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