Hi!
I haven't been able to make this work, so I decided to use SumatraPDF
reader to print from command-line on Windows OS. They support setting
multiple copies.
Best regards,
Kovi
2015-05-09 2:00 GMT+02:00 Gregor Kovač <[email protected]>:
> 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. |
> -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
>
--
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
| In A World Without Fences Who Needs Gates? |
| Experience Linux. |
-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~