如何在JavaFx中获得高质量的文本打印

时间:2015-08-13 13:08:19

标签: graphics javafx-8

在Windows 8.1上使用Java JDK 1.8.0_45,我试图使用JavaFx 8获得高质量的文本打印,但无法获得与使用带有PDF文件的免费Adobe Reader获得的打印质量相同的打印质量。 Adobe质量看起来与ControlPanel>设备和打印机> Epson Nx230>打印测试页的测试打印相同,两者质量都很好。

使用JavaFx Canvas的打印质量是合理的质量但模糊。它当然不适合公司报告。

我用来创建JavaFx打印输出的代码基本如下,尽管我尝试了一些没有提高质量的变体:

       Canvas canvas = new Canvas(pageWidth, pageHeight); 
       GraphicsContext gc = canvas.getGraphicsContext2D();

       gc.setFont(Font.font("Arial", FontWeight.BOLD, 12));

       gc.setFill(Color.BLACK);
       gc.fillText(pHed + pageNr, 20, 20);  // Page Heading

       PrinterJob printerJob = PrinterJob.createPrinterJob();
       printerJob.printPage(canvas);

默认打印机与Adobe Reader使用的打印机相同。 JavaFx产生的打印质量很模糊。 Adobe PDF Reader产生的可比打印质量远远优于使用Epson驱动程序的测试打印质量与Adobe相同。使用其他字体(包括默认字体)似乎没什么区别。

有没有办法在JavaFx中实现更高质量的打印?

0 个答案:

没有答案