I haven't understood the first part of your question but here's a
segment in PDFDebugger, maybe that can answer it somewhat:
PrinterJob job = PrinterJob.getPrinterJob();
job.setPageable(new PDFPageable(document));
PrintRequestAttributeSet pras = new
HashPrintRequestAttributeSet();
PDViewerPreferences vp =
document.getDocumentCatalog().getViewerPreferences();
if (vp != null && vp.getDuplex() != null)
{
String dp = vp.getDuplex();
if
(PDViewerPreferences.DUPLEX.DuplexFlipLongEdge.toString().equals(dp))
{
pras.add(Sides.TWO_SIDED_LONG_EDGE);
}
else if
(PDViewerPreferences.DUPLEX.DuplexFlipShortEdge.toString().equals(dp))
{
pras.add(Sides.TWO_SIDED_SHORT_EDGE);
}
else if
(PDViewerPreferences.DUPLEX.Simplex.toString().equals(dp))
{
pras.add(Sides.ONE_SIDED);
}
}
if (job.printDialog(pras))
{
job.print(pras);
}
To set it, just call document.getDocumentCatalog().setViewerPreferences().
Re grayscale:
there is no feature to change a PDF to grey. You could render a PDF to a
greyscale image and then print that one.
Tilman
Am 28.01.2018 um 22:39 schrieb Ivan Ridao Freitas | IvanRF.com:
Hi, I have two question regarding Java Printing attributes.
*Sides*: a new HP printer has Duplex mode as default an encountered
two different outputs for these scenarios:
- a PDDocument with one page, but setting PrinterJob.setCopies(2):
prints ok one page after the other
- a PDDocument with two equal pages in it (without using setCopies):
prints one page and the printer stops showing a message to continue
with Duplex mode. (this can only be solved by always adding
Sides.ONE_SIDED and print with attributes)
My question is, can the side behaviour be set on the PDDocument or the
only way to always use "one sided" is with attributes?
I saw in the Printing example
<https://svn.apache.org/repos/asf/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java>
a conversion from PDViewerPreferences.DUPLEX.Simplex to
Sides.ONE_SIDED, but I don't know how to use PDViewerPreferences and
more importantly if these preferences are actually respected when
printing.
*
Chromaticity*: similar to this question
<http://markmail.org/message/5sr6p2d36xpm32eq>, the same HP printer
always prints in color, ignoring the attribute
Chromaticity.MONOCHROME. I tested a virtual printer (with Snagit) and
that attribute works. So, I can assume that the printer is the one
discarding the Chromaticity attribute.
My question is, PDFBox provides a way to change a PDF to grayscale? If
not, could you indicate me at which point should be the color
conversion be made?
I'm using the latest PDFBox 2.0.8.
Thanks,
Ivan
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]