IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Problème d'impression avec PrinterJob


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 23
    Par défaut Problème d'impression avec PrinterJob
    Bonjour,
    J'explique mon problème. Je souhaiterai pouvoir imprimer des fichiers depuis mon programme java. (Fichiers pdf générés par le programme enfin c'est pas important). Pour cela j'utilise un PrinterJob.

    Donc ma fenêtre d'impression s'affiche correctement, j'ai la liste des imprimantes qui s'affiche etc.... Lorsque j'imprime tout fonctionne.
    Mais voilà, je me suis rendu compte que si je voulais imprimer plusieurs copies il ne m'en imprimait qu'une seule.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    private void afficheFenetreImprimante(File pdf) {
     
    FileInputStream fis = new FileInputStream(pdf;
    FileChannel fc = fis.getChannel();
    ByteBuffer bb = fc.map(FileChannel.MapMode.READ_ONLY, 0, fc.size());
    PDFFile pdfFile = new PDFFile(bb); // Create PDF Print Page  
    PDFPrintPage pages = new PDFPrintPage(pdfFile);
    PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();;
    DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
     
     
    PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, pras);
    PrintService  defaultService = PrintServiceLookup.lookupDefaultPrintService();
    PrintService   service = ServiceUI.printDialog(null, 200, 200, printService, defaultService, flavor, pras); //Affichage de la boite de dialogue d'impression
     
    if (service != null) {
     
    PrinterJob pjob = PrinterJob.getPrinterJob();
    PageFormat pf = PrinterJob.getPrinterJob().defaultPage();
    pjob.setJobName(f.getName());
    pjob.setPrintService(service);
    Book book = new Book();
    book.append(pages, pf, pdfFile.getNumPages());
    pjob.setPageable(book);
     
     
    // On demande à l'imprimante sélectionnée d'imprimer.
    pjob.print();
    }
    J'ai fait un "pjob.getCopies();" et effectivement il n'en contient qu'une seule alors que j'ai indiqué un nombre de copies plus grand dans la boite de dialogue.
    Et en faisant moi meme dans le code un "pjob.setCopies(3);" il imprime bien 3 fois la page.

    Donc comment faire pour que mon PrinterJob prenne en compte le nombre de copies désiré ?
    Merci d'avance.

    PS: En pièce jointe c'est ma boite de dialogue d'impression.
    Images attachées Images attachées  

Discussions similaires

  1. Problème d'impression avec les cases à cocher
    Par madseb dans le forum Access
    Réponses: 7
    Dernier message: 17/09/2022, 19h20
  2. Problème d'impression avec ShellExecuteEx
    Par Jac00b dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 10/11/2008, 23h01
  3. Problème d'impression avec SQL
    Par DurDur dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 20/12/2007, 18h22
  4. problèmes d'impression avec WORD
    Par MY356 dans le forum Word
    Réponses: 1
    Dernier message: 13/12/2007, 21h54
  5. Problème d'impression avec delphi
    Par Bourak dans le forum Langage
    Réponses: 1
    Dernier message: 12/11/2005, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo