Book Print

Book Print - Java - Programmation

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

Reply

Marsh Posté le 14-02-2010 à 17:54:30   

Reply

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();
    }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed