Search in sources :

Example 1 with PDViewerPreferences

use of org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences in project pdfbox by apache.

the class Printing method printWithDialogAndAttributes.

/**
 * Prints with a print preview dialog and custom PrintRequestAttribute values.
 */
private static void printWithDialogAndAttributes(PDDocument document) throws IOException, PrinterException {
    PrinterJob job = PrinterJob.getPrinterJob();
    job.setPageable(new PDFPageable(document));
    PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
    // pages 1 to 1
    attr.add(new PageRanges(1, 1));
    PDViewerPreferences vp = document.getDocumentCatalog().getViewerPreferences();
    if (vp != null && vp.getDuplex() != null) {
        String dp = vp.getDuplex();
        if (PDViewerPreferences.DUPLEX.DuplexFlipLongEdge.toString().equals(dp)) {
            attr.add(Sides.TWO_SIDED_LONG_EDGE);
        } else if (PDViewerPreferences.DUPLEX.DuplexFlipShortEdge.toString().equals(dp)) {
            attr.add(Sides.TWO_SIDED_SHORT_EDGE);
        } else if (PDViewerPreferences.DUPLEX.Simplex.toString().equals(dp)) {
            attr.add(Sides.ONE_SIDED);
        }
    }
    if (job.printDialog(attr)) {
        job.print(attr);
    }
}
Also used : PDFPageable(org.apache.pdfbox.printing.PDFPageable) PageRanges(javax.print.attribute.standard.PageRanges) PDViewerPreferences(org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrinterJob(java.awt.print.PrinterJob) PrintRequestAttributeSet(javax.print.attribute.PrintRequestAttributeSet) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet)

Example 2 with PDViewerPreferences

use of org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences in project pdfbox by apache.

the class PDFDebugger method printMenuItemActionPerformed.

private void printMenuItemActionPerformed(ActionEvent evt) {
    if (document == null) {
        return;
    }
    try {
        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);
        }
    } catch (PrinterException e) {
        throw new RuntimeException(e);
    }
}
Also used : PDFPageable(org.apache.pdfbox.printing.PDFPageable) COSString(org.apache.pdfbox.cos.COSString) PrinterException(java.awt.print.PrinterException) PDViewerPreferences(org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrinterJob(java.awt.print.PrinterJob) HashPrintRequestAttributeSet(javax.print.attribute.HashPrintRequestAttributeSet) PrintRequestAttributeSet(javax.print.attribute.PrintRequestAttributeSet)

Aggregations

PrinterJob (java.awt.print.PrinterJob)2 HashPrintRequestAttributeSet (javax.print.attribute.HashPrintRequestAttributeSet)2 PrintRequestAttributeSet (javax.print.attribute.PrintRequestAttributeSet)2 PDViewerPreferences (org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences)2 PDFPageable (org.apache.pdfbox.printing.PDFPageable)2 PrinterException (java.awt.print.PrinterException)1 PageRanges (javax.print.attribute.standard.PageRanges)1 COSString (org.apache.pdfbox.cos.COSString)1