这是我正在使用的代码,我需要知道我可以在这里更改属性的位置,因为如果我在这里运行它,它会向我发送打印部分,您可以在其中选择打印机或为其提供属性,我需要它水平和默认它是垂直的public int print(Graphics grap, PageFormat pagFor, int index) throws PrinterException {if (index > 0) { return NO_SUCH_PAGE; } // pagFor.setOrientation(0); pagFor.setOrientation(PageFormat.LANDSCAPE); Graphics2D hub = (Graphics2D) grap; hub.translate(pagFor.getImageableX() + 5, pagFor.getImageableY()); hub.scale(0.5, 0.5); jPanel1.printAll(grap); return PAGE_EXISTS;}
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
您需要在开始打印之前更改方向
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName("My super-dup awesome print job");
PageFormat pf = pj.defaultPage();
pf.setOrientation(PageFormat.LANDSCAPE);
pf = pj.validatePage(pf);
pj.setPrintable(..., pf);
if (!pj.printDialog()) {
return;
}
try {
pj.print();
} catch (PrinterException ex) {
ex.printStackTrace();
}
注意:用户可以在打印对话框中改变方向,你只需要在你的 Printable
添加回答
举报
0/150
提交
取消