2008-11-30 9 views
0

Salutations,Comment réduire la zone imprimable en C#?

J'ai des problèmes (en essayant d'imprimer à partir de C# à certaines imprimantes qui ne disposent pas de grandes zones d'impression. Est-il un moyen de réduire à la zone imprimable (comme Adobe Acrobat faire)? Merci!

Répondre

0

Qu'est-ce que vous utilisez pour l'impression? Très probablement, vous devrez interroger l'imprimante pour ses marges, puis ajuster le code de dessin pour imprimer dans la zone imprimable. "

1

Vous pouvez déterminer la taille de votre image, puis la taille de t e zone d'impression (à partir des paramètres et des marges de l'imprimante - comme mentionné dans l'autre article), puis calculez un taux de réduction horizontale ou verticale (la valeur la plus élevée étant retenue, l'image n'est pas recadrée). Utilisez ce rapport dans une transformation d'échelle sur le contexte graphique de l'imprimante avant d'y dessiner le contenu de la page.

0

Dans .Net, vous devez utiliser les classes de l'espace de noms System.Drawing.Printing à imprimer. Lorsque vous faites cela, vous appelez la méthode Print() à partir d'un objet PrintDocument. Cela provoquera l'événement PrintDocumentPrintPage à lever. La propriété Graphics de l'argument PrintPageEventArg de cet événement a une propriété ClipBounds. Utilisez cette propriété pour vérifier la zone imprimable.

Questions connexes