PDFBox: Comment imprimer le pdf avec une imprimante spécifiée?

Je veux utiliser PDFBox pour l'impression de fichiers PDF créé par iText. J'ai essayé avec succès avec PDDocument classe et de sa méthode print(). Vous pouvez trouver de la documentation ici: http://pdfbox.apache.org/apidocs/.

(Je suis en utilisant ce code:)

public static void printPDF(String fileName)
        throws IOException, PrinterException {
    PDDocument doc = PDDocument.load(fileName);
    doc.print();
}

La méthode print() fonctionne très bien, mais il y a un problème: Quand j'en ai besoin pour imprimer plusieurs fichiers, la méthode me demande de sélectionner une imprimante pour chacun des documents..

Est-il de toute façon comment définir l'imprimante qu'une seule fois?

Pour la sélection de l'imprimante je peux utiliser ce code par exemple:

public static PrintService choosePrinter() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(printJob.printDialog()) {
        return printJob.getPrintService();          
    }
    else {
        return null;
    }
}

Merci d'avance


Solution:

public static PrintService choosePrinter() {
    PrinterJob printJob = PrinterJob.getPrinterJob();
    if(printJob.printDialog()) {
        return printJob.getPrintService();          
    }
    else {
        return null;
    }
}

public static void printPDF(String fileName, PrintService printer)
        throws IOException, PrinterException {
    PrinterJob job = PrinterJob.getPrinterJob();
    job.setPrintService(printer);
    PDDocument doc = PDDocument.load(fileName);
    doc.silentPrint(job);
}

source d'informationauteur Firzen