Printing JavaFX打印非节点对象

Printing JavaFX打印非节点对象,printing,javafx-8,pdfrenderer,Printing,Javafx 8,Pdfrenderer,我想使用javafx打印从库中打印一个对象。是否可以打印非对象?目前我正在使用AWT printing(),但它与javafx不太兼容,因为当AWT print对话框出现时,我的javafx窗口会冻结 Printer printer = Printer.getDefaultPrinter(); PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, Printer.MarginTyp

我想使用javafx打印从库中打印一个对象。是否可以打印非对象?目前我正在使用AWT printing(),但它与javafx不太兼容,因为当AWT print对话框出现时,我的javafx窗口会冻结

Printer printer = Printer.getDefaultPrinter();
PageLayout pageLayout = printer.createPageLayout(Paper.A4, PageOrientation.PORTRAIT, Printer.MarginType.DEFAULT);

PrinterJob job = PrinterJob.createPrinterJob();
if (job != null) {
    boolean success = job.printPage(node); // use something otherthan a node(PDFFile in my case)
    if (success) {
        job.endJob();
    }
}

您可以从每个页面获取
java.awt.Image
,将页面绘制为
java.awt.Image.buffereImage
buffereImage
转换为
javafx.scene.Image.Image
,最后打印包含图像的
ImageView

比如:

PrinterJob job=PrinterJob.createPrinterJob();
Pdfile Pdfile=;
如果(作业!=null){
布尔成功=真;

对于(int pageNumber=1;pageNumber感谢您的回答@james_d。放大输出时是否会失去清晰度?(即光栅或矢量)