mise en page avant impression

mise en page avant impression - Java - Programmation

Marsh Posté le 11-09-2005 à 13:10:28    

bonjour a tous voila j'ai un gros petit probleme  
je souhait imprimé du texte, le souci c'est que je n'arrive pas a faire de mise en page (le texte sort de la feuille) je fais comme ca:  

Code :
  1. PrinterJob printJob = PrinterJob.getPrinterJob ();
  2. Book book = new Book ();
  3. PageFormat documentPageFormat = new PageFormat ();
  4. documentPageFormat.setOrientation (PageFormat.PORTRAIT);
  5. book.append (new Document (monTextKiEstTresLong), documentPageFormat);
  6. printJob.setPageable (book);
  7. if (printJob.printDialog()){
  8.    try {
  9.       printJob.print();
  10.    }
  11.    catch (Exception PrintException) {
  12.       PrintException.printStackTrace();
  13.    }
  14. }


et la classe document:  

Code :
  1. private class Document implements Printable {
  2.        private String str;
  3.        public Document (String str){
  4.            this.str = str;
  5.        }
  6.       public int print (Graphics g, PageFormat pageFormat, int page) {
  7.          //--- Create the Graphics2D object  
  8.           Graphics2D g2d = (Graphics2D) g;
  9.           //--- Translate the origin to 0,0 for the top left corner  
  10.           g2d.translate (pageFormat.getImageableX (), pageFormat.getImageableY ());
  11.           //--- Set the drawing color to black  
  12.           g2d.setPaint (Color.black);
  13.           //--- Print the text one inch from the top and left margins  
  14.           g2d.drawString (str, 72, 72);
  15.           //--- Validate the page  
  16.           return (PAGE_EXISTS);
  17.       }
  18.     }


voila y-a-t'il moyen de faire des retour a ligne automatiquement quand le texte sort de la feuille et imprime une nouvelle feuille si la longueur du texte dépasse la feuille.  
jusqu'a present je n'ai rien trouvé sur internet qui pouvait m'aidé pour se probleme mais peut etre que j'ai mal cherché  
merci a tous ceux qui pourront m'aider!  ;)

Reply

Marsh Posté le 11-09-2005 à 13:10:28   

Reply

Sujets relatifs:

Leave a Replay

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