JavaFX PrinterJob 打印随机字符而不是常规文本

标签 java javafx

我正在尝试打印一张发票(AnchorPane),其中包含许多包含发票信息的标签、GridPanes、VBox 等。除了缩放比例完全困惑之外,我只能打印随机字符而不是发票信息。

我很确定我遗漏了一些东西或做错了一些事情,但我无法弄清楚。非常感谢所有帮助。

用于打印的代码如下:

Printer defaultPrinter = Printer.getDefaultPrinter();

    // Create a printer job for the default printer
    PrinterJob job = PrinterJob.createPrinterJob();

    if (job != null)
    {

        // Print the node
        boolean printed = job.printPage(ap_invoice);

        if (printed)
        {
            // End the printer job
            System.out.println("Print Job Successful");
            job.endJob();
        }
        else
        {
            // Write Error Message
            System.out.println("Print Job Faild);
        }
    }

最佳答案

我在 OS X 上使用“System”字体时看到了这一点,这是 JavaFX 特定的东西。我改用“Verdana”(即操作系统名称已知的字体),问题就消失了。

关于JavaFX PrinterJob 打印随机字符而不是常规文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39441495/

相关文章:

java - 是否存在基于 Java 的数据聚合和报告框架?

Java if 语句字符串等

java - 从 javaPairRDD 中获取最高键

java - 如何在同一个窗口中依次打开2个类(class)

java - 删除 JavaFx Textarea 的第一行

javafx-2 - 父 TableView 从子 fxml 更新

java - 如何在 Java 中读取和存储 API 调用/响应

java - Java 中的错误递增

java - 同一列中不同类型的对象

java - 通过 JavaFX 设置用户输入的值