Générer et imprimer des billets (théâtre, cinema, concours, ...)

4/5 (12 avis)

Vue 65 103 fois - Téléchargée 6 867 fois

Description

Salut tout le monde;
J'ai un ami qui, pour son école, doit faire environ 500 billets de théâtre avec un numéro unique et les imprimer ensuite.
J'ai eu donc l'idée de faire ce programme qui sert à numéroter les billets et de les imprimer ensuite.
Il est très simple d'utilisation, voici les étapes à suivre:

1- Vous choisissez l'image du billet en arrière plan
2- Vous sélectionnez la zone d'affichage du nombre
3- Vous spécifiez la police (couleur et taille)
4- Vous spécifiez aussi le nombre de colonnes et l'espacement entre colonnes et lignes
5- Vous pouvez choisir ou non d'afficher les zéros à gauche du nombre

Source / Exemple :

le code est très long, j'ai donc choisi l'extrait suivant. le reste est dans le zip

using System;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.Drawing;
using System.Drawing.Drawing2D;

/*...*/

private void DrawPage(int actualPage, Graphics g, Rectangle container)
{
 //rectangle qui définit la zone d'affichage du ticket
 Rectangle ticketRect = new Rectangle(container.X, container.Y, bmpWidth, bmpHeight);
 //rectangle qui définit la zone d'affichage du nombre
 Rectangle numberRect = displayNumberRect;
    numberRect.X += container.X; numberRect.Y += container.Y;
 //nombre du premier ticket de la page x
 int number = actualPage * nberOfLines * nberOfColumns + this.beginNumber;
 
 //on fait les colonnes, ligne par ligne
 //observez la disposition des boucles
 for(int i=0; i<this.nberOfLines; i++)
 {
  for(int j=0; j<this.nberOfColumns; j++)
  {
   //si on a atteint le dernier billet, on arrête
   if(number == this.numberOfTickets + this.beginNumber) break;
   //on dessine l'image du billet
   g.DrawImage(bmp, ticketRect);
   //string qui contient le chiffre
   string s = string.Format("{0}", number);
   //on ajoute les zéros à gauche si zeroLeft == true
   if(this.zeroLeft)
   {
    while(s.Length<this.nberZeroLeft+1)
    {
     s = s.Insert(0, "0");
    }
   }
   //on dessine le nombre
   g.DrawString(s, font, new SolidBrush(fontColor), numberRect, format);
   //g.DrawRectangle(new Pen(Color.Black), numberRect);
   //--------------------------------------------------
   //on place nos rectangles pour la deuxieme colonne
   ticketRect.X+= ticketRect.Width + this.spaceColumns;
   numberRect.X = ticketRect.X + displayNumberRect.X;
   number++;
  }
  //on place nos rectangles pour la ligne suivante
  ticketRect.X = container.X;
   numberRect.X = ticketRect.X + displayNumberRect.X;
  ticketRect.Y+= ticketRect.Height + this.spaceRows;
   numberRect.Y = ticketRect.Y + displayNumberRect.Y;
 }
}

Conclusion :

Merci à Shinta de m'avoir donner l'idée de faire ce programme
Si vous avez d'autres options à me suggérer, n'hésitez pas à le faire
Si vous trouvez des bugs, merci de me prévenir

Fichier exécutable supprimé par la modération pour non rexpect de la charte

Enjoy !!!

Codes Sources

A voir également

Ajouter un commentaire Commentaires
charlietd
Messages postés
1
Date d'inscription
jeudi 20 septembre 2012
Statut
Membre
Dernière intervention
20 septembre 2012

20 sept. 2012 à 16:17
Merci :) Très utile :) c'est ce que je cherchais :)
tahneefan1d
Messages postés
1
Date d'inscription
mercredi 30 mai 2012
Statut
Membre
Dernière intervention
30 mai 2012

30 mai 2012 à 23:21
pas capable de telecharger . MARDE !
tguillon
Messages postés
3
Date d'inscription
dimanche 14 octobre 2007
Statut
Membre
Dernière intervention
30 décembre 2012

8 mai 2012 à 03:35
Merci, vraiment très utile.

La résolution du billet est un peu légère, mais on peux faire des planches de billets plus gros et utiliser l'option d'impression 2 par page.
Il faut cliquer au moins une fois sur "configuration" pour que le log charge la configuration de votre imprimante avant de faire aperçu.
On peut créer autant de zones de numérotations que l'on veux.

Encore merci
jarnac16
Messages postés
1
Date d'inscription
dimanche 3 juillet 2011
Statut
Membre
Dernière intervention
3 juillet 2011

3 juil. 2011 à 21:34
Bonjour,
j'ai telechargé lme zip mais n'est jamais réussi à l'ouvrir!!!
Pouvez vous m'aider?
Merci
11fabulous
Messages postés
1
Date d'inscription
lundi 9 mai 2011
Statut
Membre
Dernière intervention
9 mai 2011

9 mai 2011 à 19:51
ça à l'air trés bien, mais j'ai du mal à le faire fonctionner !!!
lorsque je veux insérer ma numérotation et que je fais insérer une zone d'affichage,
je n'ai qu'une partie de mon document qui est affichée ; je pense que mon fichier est trop grand mais lorsque je le réduit j'ai un aperçu de tout mon fichier mais la qualité est trés médiocre... bref!
dommage également qu'il n'y pas le préfixe "N°" et je ne suis pas programmateur...
;) en tout cas bravo...
si vous avez des solutions... je suis preneur!
Afficher les 12 commentaires

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.