2017-05-26 1 views
0

J'essaie d'imprimer un PDF en utilisant la bibliothèque PDFbox. Mais l'impression résultante est tournée de 90 degrés. La taille de la page est de 70mm x 17mm mais la longueur d'impression est de la forme 17mm x 70mm.PDFBox: Comment empêcher la rotation automatique des pages PDF avant l'impression?

String filename = dest; 
    PDDocument document = PDDocument.load(new File (filename)); 

    PrintService myPrintService = PrintServiceLookup.lookupDefaultPrintService(); 
    PrinterJob job = PrinterJob.getPrinterJob(); 
    job.setPageable(new PDFPageable(document)); 
    job.setPrintService(myPrintService); 
    if(job.printDialog()) 
     job.print(); 
    document.close(); 

Merci.

Répondre

0

Vous pouvez passer Orientation ENUM à PDFPageable constructeur:

job.setPageable(new PDFPageable(document, Orientation.PORTRAIT)); 

Puisque vous utilisez du papier non standard, la valeur d'orientation par défaut de Orientation.AUTO interprète des bords plus courts que haut et en bas.

+0

Je reçois une erreur. Il dit qu'il n'y a pas de fonction comme setPageable (arg1, arg2); – Spongebob

+0

ouais, vous le passez au constructeur PDFPageable - code corrigé maintenant – diginoise

+0

J'ai essayé mais le problème continue. – Spongebob