Your code looks fine, I suspect that as you say, the problem is with Java’s interaction with your printer driver, especially as you’re having the same problem with other libraries.
— John > On 8 May 2015, at 17:00, Gregor Kovač <[email protected]> wrote: > > Hi! > > John, maybe it was, but I still get only one page printed out. > I'm using this code: > private static void printWithPDFBox2(File pdfFile, int copies) { > PDDocument document = null; > > try { > document = PDDocument.load(pdfFile); > > PrinterJob printJob = PrinterJob.getPrinterJob(); > printJob.setJobName(pdfFile.getName()); > > printJob.setPrintService(PrintServiceLookup.lookupDefaultPrintService()); > > printJob.setCopies(copies); > HashPrintRequestAttributeSet printRequestAttributeSet = new > HashPrintRequestAttributeSet(); > printRequestAttributeSet.add(new Copies(copies)); > printRequestAttributeSet.add(SheetCollate.COLLATED); > PDFPrinter printer = new PDFPrinter(document, > Scaling.ACTUAL_SIZE, Orientation.AUTO); > printer.print(printJob, printRequestAttributeSet); > } catch (Exception e) { > e.printStackTrace(); > } finally { > if (document != null) { > try { > document.close(); > } catch (Exception e) { > e.printStackTrace(); > } > } > } > } > > When the print dialog is displayed I see field "Number of copies:" set to 5 > and "Collate" is checked, but, again, only one page is printed out. > > I've tried with Java products for working with PDF that cost thousands od $ > and also only get one page out. It is something with my printer or > something in Java. > I'm working on Linux, so I'm using cups-pdf package that provides a PDF > printer. So, I'm printing PDF files via Java and I get out a PDF file. :) > If I use the code above, I get a PDF file with one page, but if I do: "lpr > -#5 -o Collate=True example.pdf" I get a PDF with 5 pages, becuase > example.pdf has only one page. > > Any ideas why I'm getting one page PDF in Java? > > Best regards, > Kovi > > 2015-05-08 23:40 GMT+02:00 John Hewson <[email protected]>: > >> This has been fixed in 2.0: >> >> https://issues.apache.org/jira/browse/PDFBOX-2094 < >> https://issues.apache.org/jira/browse/PDFBOX-2094> >> >> — John >> >>> On 7 May 2015, at 16:04, Gregor Kovač <[email protected]> wrote: >>> >>> Hi! >>> >>> I'm using PDFBox 1.8.9 and using this method to print a PDF file: >>> >>> private static void printWithPDFBox(File pdfFile, int copies) { >>> PDDocument document = null; >>> >>> try { >>> document = PDDocument.load(pdfFile); >>> >>> PrintService printService = >>> PrintServiceLookup.lookupDefaultPrintService(); >>> PrinterJob printJob = PrinterJob.getPrinterJob(); >>> printJob.setJobName(pdfFile.getName()); >>> printJob.setPrintService(printService); >>> printJob.setCopies(copies); >>> >>> HashPrintRequestAttributeSet printRequestAttributeSet = new >>> HashPrintRequestAttributeSet(); >>> printRequestAttributeSet.add(new Copies(copies)); >>> printRequestAttributeSet.add(SheetCollate.COLLATED); >>> printJob.setPageable(new PDPageable(document, printJob)); >>> printJob.print(printRequestAttributeSet); >>> } catch (Exception e) { >>> e.printStackTrace(); >>> } finally { >>> if (document != null) { >>> try { >>> document.close(); >>> } catch (IOException e) { >>> e.printStackTrace(); >>> } >>> } >>> } >>> } >>> >>> >>> I have a test file with one page and when I call this method with copies >>> greater than 1 I only get one page printed out. >>> >>> Am I doing something wrong? >>> >>> Best regards, >>> Kovi >>> >>> -- >>> -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ >>> | In A World Without Fences Who Needs Gates? | >>> | Experience Linux. | >>> -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ >> >> > > > -- > -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ > | In A World Without Fences Who Needs Gates? | > | Experience Linux. | > -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

