Re bonjour à tous,
Oui oui je vous embète encore et toujours. Aujourd'hui mon problème concerne l'impression des tickets. Plusieurs solution sont offertes à moi. Utiliser crystal report. Mais j'ai vite oublier cette solution, en concluant que c'était un peu trop lourd pour simplement imprimer des tickets de caisse.
Donc je me suis reporté vers la solution du printdialog. Le soucis que j'ai : Je ne vois vraiment pas comment faire pour lui dire que j'ai une largeur ( par exemple 5, 71 cm) mais une longueur indéfini. J'ai checker a droite à gauche sur le net, mais je sents que je vais devenir chèvre lol.
En gros pour l'instant mon code ressemble à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 doc.PrintPage += this.Doc_PrintPage; PrintDialog dlgSettings = new PrintDialog(); dlgSettings.Document = doc; doc.OriginAtMargins = true; doc.QueryPageSettings += new QueryPageSettingsEventHandler(prDoc_QueryPageSettings); doc.EndPrint += new PrintEventHandler(this.prDoc_EndPrint); printPreviewDialog1.Document = doc; printPreviewDialog1.ShowDialog();
J'ai déja un soucis pour passer a une page suivante il le faits pas et pourtant il passe bien dans ma boucle du flag. Quelqu'un aurait-il une idée, plus d'informations concernant les impressions en ticket de caisse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 private void Doc_PrintPage(object sender, PrintPageEventArgs e) { Font font = new Font("Arial", 12); int height = 0; float x = e.MarginBounds.Left; int nombreart= 0; bool flagpage = false; e.Graphics.DrawString("Votre café du coin", font, Brushes.Black, x, height); Commande com = new Commande(); Commandes_Service com_serv = new Commandes_Service(); com = com_serv.getcommandesbyidtable(new Guid(cmb_tables.SelectedValue.ToString())); List<Article_Commande> art_com = new List<Article_Commande>(); art_com = com_serv.get_article_commandes(com.Id_Commande); foreach(Article_Commande art_commande in art_com) { Article arts = new Article(); ArticleService article_serv = new ArticleService(); arts= article_serv.getarticlebyid(art_commande.Article_Id.Id_Article); height += 20; e.Graphics.DrawString(arts.Nom_Article, font, Brushes.Black, x, height); e.Graphics.DrawString(arts.Prix_Vente_Article.ToString(), font, Brushes.Black, e.MarginBounds.Left+300, height); nombreart +=1; if (height + 20 > e.MarginBounds.Height) flagpage = true; if (flagpage == false) { e.HasMorePages = false;} else { e.HasMorePages = true; this._currentPrintPage++; height = 0; flagpage = false; if (this._maxPage < this._currentPrintPage) this._maxPage = this._currentPrintPage; } } }
Dois-je fait configurer mon paperkind avec une taille ? si oui laquelle. Est-ce que quand le driver de l'imprimante est installer va-t-il le faire automatiquement? En gros je suis paumé et je nage sur la vague de mon code.
Un grand merci à vous.
IoIo
Partager