Imprimer un formulaire au format paysage
-
mercredi 11 juillet 2012 15:52
Je souhaite imprimer un graphique placé sur un formulaire dont les dimensions sont : largeur 1500 px, hauteur 800 px.
Voici le code que j'utilise :
Dim pf As New PrintForm pf.Form = Me pf.Print()Le formulaire est imprimé immédiatement, mais en format portrait, et donc fortement coupé à droite.
Comment puis-je améliorer la situation (format paysage et réglage des marges)
D'avance, merci.
Pierre Allemand
Toutes les réponses
-
mercredi 11 juillet 2012 17:53
Bonjour Pierre Allemand,Le 11/07/2012 17:52, Pierre Allemand a écrit :> Je souhaite imprimer un graphique placé sur un formulaire dont les> dimensions sont : largeur 1500 px, hauteur 800 px.>> Voici le code que j'utilise :>> Dim pf As New PrintForm> pf.Form = Me> pf.Print()>> Le formulaire est imprimé immédiatement, mais en format portrait, et> donc fortement coupé à droite.>> Comment puis-je améliorer la situation (format paysage et réglage des> marges)>Si tu utilises les Powerpacks :pf.PrinterSettings.DefaultPageSettings.Landscape = Truepour les marges, par exemple :With pf.PrinterSettings.DefaultPageSettings.Margins.Top = 10.Left = 10.Bottom = 10.Right = 10End With
Cordialement, Jacques- Marqué comme réponse Pierre Allemand mercredi 11 juillet 2012 21:28
-
mercredi 11 juillet 2012 21:27
Merci Jacques
Tout fonctionne (ou presque) : Mon graphique ne tient pas en largeur dans la page.
Comment puis-je faire pour réduire l'image à imprimer de façon à ce que tout le formulaire tienne en largeur sur ma page imprimée (A4) ?
Pierre Allemand
-
jeudi 12 juillet 2012 11:36Le 11/07/2012 23:27, Pierre Allemand a écrit :> Merci Jacques>> Tout fonctionne (ou presque) : Mon graphique ne tient pas en largeur> dans la page.>> Comment puis-je faire pour réduire l'image à imprimer de façon à ce que> tout le formulaire tienne en largeur sur ma page imprimée (A4) ?>Il faudrait en savoir plus, quel contrôle utilise le graphique ?Y a t-il d'autre contrôles sur la feuille ? est il utile de les imprimer.D'après ce que je comprends, il faudrait quelque chose du genre'FitToPage' ?Mais je crains que PrintForm ne gère pas celà.
Cordialement, Jacques -
jeudi 12 juillet 2012 15:49Le 11/07/2012 23:27, Pierre Allemand a écrit :> Merci Jacques>> Tout fonctionne (ou presque) : Mon graphique ne tient pas en largeur> dans la page.>> Comment puis-je faire pour réduire l'image à imprimer de façon à ce que> tout le formulaire tienne en largeur sur ma page imprimée (A4) ?>Il faudrait en savoir plus, quel contrôle utilise le graphique ?Y a t-il d'autre contrôles sur la feuille ? est il utile de les imprimer.D'après ce que je comprends, il faudrait quelque chose du genre'FitToPage' ?Mais je crains que PrintForm ne gère pas celà.
Cordialement, JacquesLe graphique n'utilise aucun contrôle spécifique. Il y a d'autres contrôles sur la feuille qui sont des résultats de calculs. Ils sont tous situés dans un rectangle de 200 x 650 px à droite du graphique. Il serait utile qu'ils fassent partie des objets imprimés.
Enfin, il y a un menu situé en haut du formulaire et qui comprend uniquement 2 commandes (sortir et imprimer). Il n'est pas utile de les imprimer.
Cordialement
Pierre Allemand
-
jeudi 12 juillet 2012 16:55
Malheureusement, il est bien indiqué dans PrintForm
Si la largeur d'un formulaire est supérieure à la largeur du papier dans l'imprimante, le côté droit du formulaire peut être tronqué. Lorsque vous concevez des formulaires destinés à l'impression, assurez-vous que le formulaire est ajusté à du papier de taille standard.
Donc avec PrintForm, à moins de réorganiser/redimensionner, je ne vois pas trop.
Sinon, mais sans garanti de résultat sur la qualité, utiliser StretchBlt que tu pourrai intégrer à un code comme indiqué dans ce fil (non testé) : How do i print a form
Ne pas oublier que la résolution d'imprimante en dpi est très nettement supérieure à celle d'un écran, et que le ratio largeur / hauteur n'est pas le même. Si tu réduit la résolution, par exemple passer de 300dpi à 150dpi (si c'est possible) la qualité d'impression s'en ressentira.
L'impression, à moins d'utiliser des contrôles tiers, n'a jamais été un point fort de VB, Net ou antérieur.
Cordialement, Jacques
- Marqué comme réponse Pierre Allemand jeudi 12 juillet 2012 22:28
-
jeudi 12 juillet 2012 22:29
Bonsoir,
J'ai résolu le problème en diminuant la largeur de mon graphique à l'écran.
Cordialement
Pierre Allemand
-
vendredi 13 juillet 2012 14:02C'était effectivement le plus simple et le plus rapide, je crois.
Cordialement, Jacques

