Partage
  • Partager sur Facebook
  • Partager sur Twitter

Impression PrinterJob : Comment placer l'objet sur la page ?

Sujet résolu
    31 janvier 2009 à 19:16:14

    Bonsoir,
    Pour présenter en gros le coté impression de mon application :
    Dans un JFrame j'ai un bouton "Imprimer" qui contient le code qui va lancer la boite d'impression :

    PrinterJob tache = PrinterJob.getPrinterJob();
                tache.setPrintable(monRecapitulatif.getTable());
                if(! tache.printDialog())
                {
                    return;
                }
                try
                {
                    tache.print();
                }
                catch(Exception a)
                {
                    System.out.println("Impossible d?imprimer !");
                }
    



    Commentaire sur "monRecapitulatif.getTable()" :
    monRecapitulatif fait référence à un JPanel, qui permet de récupérer getTable() qui contient l'objet à imprimer.



    Et j'ai un autre JPanel, qui contient la méthode suivante :


    public int print(Graphics g, PageFormat pf, int indexPage)
         {
            if(indexPage > 0) return NO_SUCH_PAGE;
            {
                Graphics2D g2 = (Graphics2D)g;
            }
            this.printAll(g);
            return PAGE_EXISTS;
        }
    



    La boite d'impression se lance sans problème, elle détecte l'imprimante niquel, et l'objet que je veux imprimer (en l'occurence un JTable) s'imprime aussi MAIS : il est coupé à cause des marges.
    Ce qui semble logique, cependant, je voudrais savoir comment faire pour placer mon objet, où je veux, sur la page ?

    Quelqu'un a une idée pour m'éclairer ? :o

    Je vous remercie pour vos réponses.
    • Partager sur Facebook
    • Partager sur Twitter
      1 février 2009 à 15:56:31

      J'ai résolu mon problème.
      Pour ceux que ça interesse, il faut utiliser ces deux lignes de code :

      g.translate(100, 100);
      this.print(g);
      


      g étant l'élément Graphics passé en paramètre dans la fonction print(Graphics g, PageFormat pf, int indexPage)
      • Partager sur Facebook
      • Partager sur Twitter

      Impression PrinterJob : Comment placer l'objet sur la page ?

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown