Problème impression A3/A5/... [Résolu]

pactoopac 10 Messages postés samedi 9 juin 2007Date d'inscription 22 mars 2010 Dernière intervention - 22 juin 2009 à 17:29 - Dernière réponse : pactoopac 10 Messages postés samedi 9 juin 2007Date d'inscription 22 mars 2010 Dernière intervention
- 23 juin 2009 à 11:10
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é...

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
Afficher la suite 

1 réponse

Répondre au sujet
pactoopac 10 Messages postés samedi 9 juin 2007Date d'inscription 22 mars 2010 Dernière intervention - 23 juin 2009 à 11:10
+3
Utile
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 :
 
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.

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).
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de pactoopac

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.