Установить ориентацию не работает в java printjob

Когда я запускаю этот код. вывод не идет пейзаж или портрет.

я хочу повернуть сам вывод

public void printMedCertPage() throws PrinterException {
        try {
            HashPrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
            attr.add(new MediaPrintableArea(0f, 0f, 72f, 72f, MediaPrintableArea.INCH));
            PrinterJob job = PrinterJob.getPrinterJob();
            PageFormat pf = job.defaultPage();
            job.setJobName("Print Java Component");
            job.setPrintable(new Printable() {
                public int print(Graphics g, PageFormat pageFormat, int pageIndex) {
                    if (pageIndex > 0) {
                        return (NO_SUCH_PAGE);
                    } else {
                        Graphics2D g2d = (Graphics2D) g;
                        g2d.translate(pageFormat.getImageableX(),
                                pageFormat.getImageableY());
                        pageFormat.getImageableX();
                        g2d.scale(0.875, 0.9);
                        JPanelMenu.paint(g2d);

                        return (PAGE_EXISTS);
                    }
                }
            });
            if (job.printDialog()) {
                try { 
                    pf.setOrientation(PageFormat.REVERSE_LANDSCAPE);
                    job.print();

                } catch (PrinterException e) {
                    System.err.println(e.getMessage());
                }
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex);
        }
    }

я думаю, что сеториентация должна делать ту работу, которую я желаю

0 ответов

Другие вопросы по тегам