Book Print - Java - Programmation
Marsh Posté le 22-02-2010 à 11:14:28
Si ca peut aider quelqu'un, voila comment j'ai réussi mon impression
1) La Fonction d'Impression:
public void fonctionPrint(Graphics g, Dimension size)
{
/******************************************************************************/
int x1 = 90, x2 = 192, x3 = 232, x4 = 342, x5 = 392; //les positions en largeur
Font corp = new Font("Book Antiqua", 0, 8);
Font entete = new Font("Book Antiqua", Font.BOLD, 12);
int maxYpos = 769; // position de la derniere ligne
int ypos = 50; // position de depart en hauteur
/******************************************************************************/
ENTETE
/******************************************************************************/
g.setFont(entete);
String titre = "LISTE DES CLIENTS";
g.drawString(titre, x3, ypos);
ypos += 30;
g.drawString("Date d'impression", x1, ypos);
g.drawString(dateJour, 375, ypos);
ypos+= 5;
g.drawLine(80, ypos, 510, ypos);
ypos+= 15;
g.drawString("Code", x1, ypos);
g.drawString("Nom", x2, ypos);
g.drawString("Prenom", x5, ypos);
ypos+= 5;
g.drawLine(80, ypos, 510, ypos);
ypos+= 15;
/******************************************************************************/
CORP
/******************************************************************************/
for(int i = compteur; i < listClients.size() && ypos < maxYpos; i++)
{
g.setFont(corp);
ClassClients clt = (ClassClients)listClients.get(i); // ArrayList des Clients
g.drawString(clt.getCode(), x1, ypos);
g.drawString(clt.getNom(), x2, ypos);
g.drawString(clt.getPrenom(), x5, ypos);
ypos+= 5;
g.drawLine(80, ypos, 510, ypos);
ypos+= 10;
compteur++;
g.setFont(entete);
}
if(compteur < listClients.size()) //Si il reste des Clients
{
ypos+= 10;
g.drawString("Page: " + nbPage, 450, 790);//FIN DE PAGE
nbPage++;
}
else // Si il n'y a plus de Clients
{
g.drawString("Fin de Liste", x5, ypos);
g.drawString("page: " + nbPage, 450, 790);//FIN DE PAGE
}
}
/******************************************************************************/
/******************************************************************************/
2) L'appel de la Fonction:
String name = "Test print job";
Properties properties = new Properties();
PrintJob pj = Toolkit.getDefaultToolkit().getPrintJob(new Deposants(), name, properties);
if(pj != null)
{
compteur = 0; // Compteur de client
nbPage = 1; // Compteur de page
while (compteur < listClients.size()) // Tant qu'il y a des clients j'imprime une nouvelle page
fonctionPrint(pj.getGraphics(), pj.getPageDimension());
pj.end();
}
Marsh Posté le 14-02-2010 à 17:54:30
Salut a tous,
I need help!!
J'ai fais un programme pour imprimer une liste avec code nom et prenom.
avec un entete liste et date impression.
Je voudrais pouvoir imprimer sur plusieur page avec print book.
mais je ne trouve pas de tuto.
Merci