Printing JavaFX打印非节点对象
我想使用javafx打印从库中打印一个对象。是否可以打印非对象?目前我正在使用AWT printing(),但它与javafx不太兼容,因为当AWT print对话框出现时,我的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
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。放大输出时是否会失去清晰度?(即光栅或矢量)