Я недавно начал использовать API печати Javafx для экспорта чего-либо в файл PDF и / или печати экрана. Он отлично работает, когда вы решаете сохранить / распечатать, но когда вы нажимаете кнопку «Отмена» в окне, в котором вы выбираете, куда сохранить или печатать, он все равно выскакивает в окне, чтобы выбрать каталог для имени и сохранить файл в.
У меня есть функция, связанная с событием On Mouse Clicked через файл FXML, но я не думаю, что это проблема.
вот код, который у меня сейчас есть:
public void printSaveDiagram() {
System.out.println("printing/saving file!");
// Create the Printer Job
PrinterJob printerJob = PrinterJob.createPrinterJob();
// Get The Printer Job Settings
JobSettings jobSettings = printerJob.getJobSettings();
PageLayout pageLayout;
if (printerJob != null) {
printerJob.showPrintDialog(Controller.stage);
// Get The Printer
Printer printer = printerJob.getPrinter();
// Create the Page Layout of the Printer
pageLayout = printer.createPageLayout(Paper.C, PageOrientation.LANDSCAPE,Printer.MarginType.EQUAL);
jobSettings.setPageLayout(pageLayout);
printerJob.printPage(diagram);
printerJob.endJob();
}
}