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

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

Votre réponse

1 réponse

Meilleure réponse
Messages postés
10
Date d'inscription
samedi 9 juin 2007
Dernière intervention
22 mars 2010
3
Merci
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).

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

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.