作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我正在使用的代码,我需要知道在哪里可以更改这里的属性,因为如果我在这里运行它,它会向我发送打印部分,您可以在其中选择打印机或为其提供属性,而我需要它水平方向,默认垂直方向
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;
}
最佳答案
开始打印之前您需要更改方向
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
中处理即可
关于java - 如何水平打印 jframe 或为其赋予打印属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51393381/
我是一名优秀的程序员,十分优秀!