CLASSE D'IMPRESSION BASIQUE (GÉNÈRE AUSSI UN APERÇU)
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005
-
2 juil. 2004 à 08:59
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009
-
19 avril 2005 à 21:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 19 avril 2005 à 21:55
Ravi de savoir que cette source est utile et utilisée
Normalement, l'impression se lance en appellant la fonction
laclass.GenePrintOut(1)
qui te lance l'impression d'une copie. Si tu regarde la fin du code de cette fonction, tu y verra le printer.enddoc
:)
jekifvb6
Messages postés156Date d'inscriptionlundi 13 novembre 2000StatutMembreDernière intervention18 septembre 2006 19 avril 2005 à 12:15
Ca y est, j'ai trouvé la soluce
Tout simplement
Printer.EndDoc
(merci jotrash ;-)
Excusez moi pour ce post imtempestif, reconnais avoir été un peu impatient sur ce coup.
Bon code à tous...
jekifvb6
Messages postés156Date d'inscriptionlundi 13 novembre 2000StatutMembreDernière intervention18 septembre 2006 19 avril 2005 à 12:06
Bonjour/bonsoir tout le monde,
la source de maitredede m'a bien appris tout un tas de truc.
J'ai écrit ce bout de code dans mon appli (toute simple):
Cela commande une impression (document en file d'attente de l'impression) mais celle-ci ne s'effectue qu'à la fermeture de la form. Je reste pour l'instant perplexe face à ce pb. Il doit me manquer une ligne de code au moins, pour vider le buffer d'impression, mais je ne la trouve pas.
merci d'avance et merci à maitredede.
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 26 janv. 2005 à 19:25
Tu pourrais me passer les modifs que tu a fait pour intégrer les polices svp ?
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 26 janv. 2005 à 17:18
Courrier c'est la police de base, ça devrait être bon normalement.
Mais si tu dis que ton export PDF fonctionne, alors le pb vient soir de l'imprimante, soit des pilotes, soit d'autre chose, mais y'a des chances (d'après moi) que ton code n'y soit pour rien dans ce pb...
Michel_Me
Messages postés2Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention26 janvier 2005 26 janv. 2005 à 17:05
En fait je veux utiliser Courier.
Je pense que l'imprimante la connait. C'est une brother1450
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 26 janv. 2005 à 16:32
Peut être que ton imprimante ne reconnait pas ces polices.
Ca m'est arrivé chez certains de mes clients de voir des impressions qui sortaient de partout très bien et sur une seule imprimante, la police ou les marges changeaient.
Essaye sur une autre imprimante...
Michel_Me
Messages postés2Date d'inscriptionlundi 24 janvier 2005StatutMembreDernière intervention26 janvier 2005 26 janv. 2005 à 16:24
J'ai utiler ce code en permettant l'utilisation de plusieurs police dans addtext.
Mon probleme est que sur le preview, tout est OK, en impression redirgée vers un fichier pdf idem.
Par contre, si l'impression est dirigrée sur l'imprimante, le changement de police ne se fait pas.
En connaissez vous la raison ?
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 1 sept. 2004 à 16:35
C un problème que j'ai aussi quand j'imprime des factures. J'utilise une classe de mise en forme qui ensuite imprime avec cette classe d'impression.
Si j'ai trop de lignes, ma facture descend trop bas... Par contre les en-têtes et pieds de pages appraraissent correctement.
Ma classe de listing intègre un saut de page automatique, avec numérotation automatique des pages, et répétition des têtes de colonnes...
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 1 sept. 2004 à 16:29
je pense qu'on doit pouvoir tout faire, mais y'a des pbs pour les polices de caractères par ex, les remplissages de textboxes (c'est faisable avec un carré gris derrière par ex, mais pas top) puis surtout les sauts de page, qu'on ne peut pas ou très difficilement définir au cas par cas (quand on a des tableaux pouvant contenir 1 ou plusieurs lignes) et enfin les en-têtes et pieds de page (N) de page, logo du client, etc...)
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 31 août 2004 à 18:36
comme quoi ?
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 31 août 2004 à 08:35
On a eut la même idée.
Mais j'ai pas mal de mise en forme et de tableaux, et à vrai dire j'ai fait le test, mais après avoir vu la galère que c'était et la longueur du code j'ai laissé tomber, surtout que l'impression reste basique, il y a pas mal de choses qu'on ne peut pas imprimer correctement...
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 30 août 2004 à 22:22
Ben, récupérer le contenu de chaque champ, et les mettre n forme sur ta feuille... J'en voit pas d'autre à première vue...
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 30 août 2004 à 11:27
Ouep faut que je trouve une autre solution... mais je n'en ai pas...
Merci quand même !
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 30 août 2004 à 11:24
Tu veut mettre des scroll bars sur ta feuille ? ;-)
J'ai quasiment le même genre de problème : je remplis des infos et je doit les imprimer : listing de résumé de factures.
Mon problème : ça tiends pas en largeur...
Solution : je l'ai mis au format paysage...
Autre chose : j'utilise des classes qui fonctionne à peu près pareil, j'ai une classe listing qui me met en forme un tableau sur la page, et j'ai plus qu'à faitre une boucle pour entrer les infos. Ensuite, j'appelle sa méthode pour imprimer, et elle appelle ma classe impression. C'est ma classe listing qui me gère la mise en forme...
Je la mettrait bientôt en ligne...
Mais pour ton formulaire, il faudra à mon avis que tu trouve une autre solution...
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 30 août 2004 à 08:35
Je prends un exemple type :
J'ai une résolution d'écran de 800x600 pixels
Mon formulaire fait 1200x700 pixels, ce qui fait que l'utilisateur ne voit pas ce qui dépasse de l'écran.
Avec des scrollbars c'est géré en VB, mais pour ce qui est de l'impression, l'objet Printer n'imprime que la partie visible du formulaire, et ainsi mon formulaire de 1200x700 pixels ne pourra jamais être imprimé en entier.
Il y a bien des solutions comme l'utilisation du logiciel Crystal Reports, mais j'utilise déjà et c'est pour parer un bug de Crystal Reports que je veux imprimer directement mon formulaire sans passer par cet outil.
Vala ;-)
maitredede
Messages postés153Date d'inscriptionvendredi 9 août 2002StatutMembreDernière intervention18 septembre 2009 29 août 2004 à 22:04
qu'est-ce que tu apelle sortir un formulaire complet ?
Donne moi un exemple concret...
sarl_adc
Messages postés141Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention20 octobre 2005 2 juil. 2004 à 08:59
Moi ce que je ne comprends pas c'est qu'il n'existe apparemment pas de moyen d'imprimer un formulaire complet !
J'ai cherché de partout et pas possible de trouver quoi que ce soit (miss à part l'impression de ce qui est "visible" seulement).
On est donc obligés de passer par 50000 lignes de code et un objet basique Printer pour imprimer pas grand chose.
19 avril 2005 à 21:55
Normalement, l'impression se lance en appellant la fonction
laclass.GenePrintOut(1)
qui te lance l'impression d'une copie. Si tu regarde la fin du code de cette fonction, tu y verra le printer.enddoc
:)
19 avril 2005 à 12:15
Tout simplement
Printer.EndDoc
(merci jotrash ;-)
Excusez moi pour ce post imtempestif, reconnais avoir été un peu impatient sur ce coup.
Bon code à tous...
19 avril 2005 à 12:06
la source de maitredede m'a bien appris tout un tas de truc.
J'ai écrit ce bout de code dans mon appli (toute simple):
CommonDialog2.ShowPrinter
Printer.PaintPicture Picture2.Image, 0, 0, 13350, 15680
Cela commande une impression (document en file d'attente de l'impression) mais celle-ci ne s'effectue qu'à la fermeture de la form. Je reste pour l'instant perplexe face à ce pb. Il doit me manquer une ligne de code au moins, pour vider le buffer d'impression, mais je ne la trouve pas.
merci d'avance et merci à maitredede.
26 janv. 2005 à 19:25
26 janv. 2005 à 17:18
Mais si tu dis que ton export PDF fonctionne, alors le pb vient soir de l'imprimante, soit des pilotes, soit d'autre chose, mais y'a des chances (d'après moi) que ton code n'y soit pour rien dans ce pb...
26 janv. 2005 à 17:05
Je pense que l'imprimante la connait. C'est une brother1450
26 janv. 2005 à 16:32
Ca m'est arrivé chez certains de mes clients de voir des impressions qui sortaient de partout très bien et sur une seule imprimante, la police ou les marges changeaient.
Essaye sur une autre imprimante...
26 janv. 2005 à 16:24
Mon probleme est que sur le preview, tout est OK, en impression redirgée vers un fichier pdf idem.
Par contre, si l'impression est dirigrée sur l'imprimante, le changement de police ne se fait pas.
En connaissez vous la raison ?
1 sept. 2004 à 16:35
Si j'ai trop de lignes, ma facture descend trop bas... Par contre les en-têtes et pieds de pages appraraissent correctement.
Ma classe de listing intègre un saut de page automatique, avec numérotation automatique des pages, et répétition des têtes de colonnes...
1 sept. 2004 à 16:29
31 août 2004 à 18:36
31 août 2004 à 08:35
Mais j'ai pas mal de mise en forme et de tableaux, et à vrai dire j'ai fait le test, mais après avoir vu la galère que c'était et la longueur du code j'ai laissé tomber, surtout que l'impression reste basique, il y a pas mal de choses qu'on ne peut pas imprimer correctement...
30 août 2004 à 22:22
30 août 2004 à 11:27
Merci quand même !
30 août 2004 à 11:24
J'ai quasiment le même genre de problème : je remplis des infos et je doit les imprimer : listing de résumé de factures.
Mon problème : ça tiends pas en largeur...
Solution : je l'ai mis au format paysage...
Autre chose : j'utilise des classes qui fonctionne à peu près pareil, j'ai une classe listing qui me met en forme un tableau sur la page, et j'ai plus qu'à faitre une boucle pour entrer les infos. Ensuite, j'appelle sa méthode pour imprimer, et elle appelle ma classe impression. C'est ma classe listing qui me gère la mise en forme...
Je la mettrait bientôt en ligne...
Mais pour ton formulaire, il faudra à mon avis que tu trouve une autre solution...
30 août 2004 à 08:35
J'ai une résolution d'écran de 800x600 pixels
Mon formulaire fait 1200x700 pixels, ce qui fait que l'utilisateur ne voit pas ce qui dépasse de l'écran.
Avec des scrollbars c'est géré en VB, mais pour ce qui est de l'impression, l'objet Printer n'imprime que la partie visible du formulaire, et ainsi mon formulaire de 1200x700 pixels ne pourra jamais être imprimé en entier.
Il y a bien des solutions comme l'utilisation du logiciel Crystal Reports, mais j'utilise déjà et c'est pour parer un bug de Crystal Reports que je veux imprimer directement mon formulaire sans passer par cet outil.
Vala ;-)
29 août 2004 à 22:04
Donne moi un exemple concret...
2 juil. 2004 à 08:59
J'ai cherché de partout et pas possible de trouver quoi que ce soit (miss à part l'impression de ce qui est "visible" seulement).
On est donc obligés de passer par 50000 lignes de code et un objet basique Printer pour imprimer pas grand chose.
Enfin ton prog a l'air sympa fonctionnel !