为了账号安全,请及时绑定邮箱和手机立即绑定

如何水平打印 jframe 或为其提供打印属性?

如何水平打印 jframe 或为其提供打印属性?

holdtom 2021-05-31 13:19:42
这是我正在使用的代码,我需要知道我可以在这里更改属性的位置,因为如果我在这里运行它,它会向我发送打印部分,您可以在其中选择打印机或为其提供属性,我需要它水平和默认它是垂直的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


查看完整回答
反对 回复 2021-06-02
  • 1 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信