Снипом области, которую вы хотите
Rectangle rect = new Rectangle(0,0,dataDisplayAreaAnchorPane.getWidth(),dataDisplayAreaAnchorPane.getHeight());
dataDisplayAreaAnchorPane.setClip(rect);
WritableImage writableImage;
writableImage = new WritableImage((int) dataDisplayAreaAnchorPane.getPrefWidth(),
(int) dataDisplayAreaAnchorPane.getPrefHeight());
dataDisplayAreaAnchorPane.snapshot(null, writableImage);
eventDispatcher.printLandscape(writableImage);
**------------------------------------**
Изменения размера в зависимости от формата А4 и печатей
public void print(WritableImage writableImage, Stage primaryStage) {
ImageView imageView =new ImageView(writableImage);
Printer printer = Printer.getDefaultPrinter();
PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.LANDSCAPE, Printer.MarginType.DEFAULT);
double scaleX = pageLayout.getPrintableWidth()/imageView.getBoundsInParent().getWidth();
double scaleY = pageLayout.getPrintableHeight()/imageView.getBoundsInParent().getHeight();
imageView.getTransforms().add(new Scale(scaleX, scaleY));
PrinterJob job = PrinterJob.createPrinterJob();
if (job != null) {
boolean successPrintDialog = job.showPrintDialog(primaryStage.getOwner());
if(successPrintDialog){
boolean success = job.printPage(pageLayout,imageView);
if (success) {
job.endJob();
}
}
}
}
JavaFX 8 функции печати доступен в JDK 8, и может быть доступен через ранний доступ builds: https://jdk8.java.net/download.html. Если у вас есть какие-либо предложения по функциональности, вы можете подать запросы функций в javafx-2-jira. –