Jas*_*n S 9 java printing range printdialog
我刚开始学习如何在Java/Swing中打印窗口.(编辑:刚刚找到Java打印指南)
当我这样做:
protected void doPrint() {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
}
catch (PrinterException ex) {
ex.printStackTrace();
}
finally {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到这个打印机对话框(在Windows XP上):

如何更改页面范围,使其不是1-9999?
编辑:使用Pageable/ Book设置页面范围(如@t_barbz帮助指出)需要一个PageFormat,在这种情况下我有一个catch-22,因为我想要打印对话框来选择它,我似乎没有从打印对话框中获取返回值.
对于页面范围,我相信您需要使用 PrinterJob 的 setPageable(Pageable document) 方法。看起来应该可以解决问题。
protected void doPrint() {
PrinterJob job = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(this, job.defaultPage());
printJob.setPageable(book);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
}
catch (PrinterException ex) {
ex.printStackTrace();
}
finally {
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4233 次 |
| 最近记录: |