【发布时间】:2016-07-20 17:49:14
【问题描述】:
我想以横向格式将我的 tableView 打印到 A4 上。 我还希望 tableView 将自身扩展到此 A4 页面。
我设法做到了:
Printer printer = Printer.getDefaultPrinter();
PrinterJob printerJob = PrinterJob.createPrinterJob();
//set layout to A4 and landscape
PageLayout pageLayout = printer.createPageLayout(Paper.A4,
PageOrientation.LANDSCAPE, Printer.MarginType.DEFAULT);
printerJob.getJobSettings().setPageLayout(pageLayout);
System.out.println(pageLayout.getPrintableWidth());
System.out.println(pageLayout.getPrintableHeight());
final double scaleX = pageLayout.getPrintableWidth() / _menuPlanTable.getBoundsInParent().getWidth();
final double scaleY = pageLayout.getPrintableHeight() / _menuPlanTable.getBoundsInParent().getHeight();
_menuPlanTable.getTransforms().add(new Scale(scaleX, scaleY));
if(printerJob.showPrintDialog(_controlStage) && printerJob.printPage(_menuPlanTable)) {
_menuPlanTable.getTransforms().remove(getTransforms().size());
printerJob.endJob();
}
else{
_menuPlanTable.getTransforms().remove(getTransforms().size());
}
结果如下所示: IMAGE
你可以清楚地看到我的桌子被切断了,右边的界限比左边的大很多。
有什么提示吗?
【问题讨论】: