2016-05-24 11 views
0

OS X(Yosemite)のJavaFX8で組み込みノード印刷機能を使用しようとしています。私は以下の単純なコードを使って何かを印刷しようとしています。しかし、それは印刷用紙にガベージ文字を生成するだけです。私の欠点は何ですか?OS X上のJavaFX8で印刷するとガベージ文字が生成される

プリンタが正常に設定されているため、他のテキストファイルやPDFなどを正常に印刷できます。

@Override 
public void start(Stage primaryStage) throws Exception { 
    System.out.println(Printer.getDefaultPrinter().getName()); 

    VBox v = new VBox(); 
    v.setPrefSize(200,200); 
    Label r1 = new Label("Row 1"); 
    Label r2 = new Label("Row 2"); 
    v.getChildren().addAll(r1, r2); 

    primaryStage.setScene(new Scene(v)); 
    primaryStage.show(); 

    final PrinterJob printerJob = PrinterJob.createPrinterJob(); 
    printerJob.jobStatusProperty().addListener((observable, oldValue, status) -> { 
     System.out.println(status); 
    }); 

    final boolean b = printerJob.printPage(v); 
    if (b) 
     printerJob.endJob(); 

} 
+0

関連する可能性がありますhttps://bugs.openjdk.java.net/browse/JDK-8081707「Mac OS XでのJavaFX印刷では判読できないテキスト出力が生成されます」 – XaolingBao

+0

リンクをありがとうとバグレポートに1.8_60で修正されました。私は1.8.0_74-b02を使用していますが、文字化けしています。 – Daniel

+0

問題ありません....これは、JIRAを使用していたときと同じように、新しいバグレポートが出てくるところです。私はバグレポートに追加したり、独自の新しいレポートを作成したり、専門家がそこで言うことを見てみたりします。彼らはすぐにあなたにパッチを当て、夜間のビルドであなたの道にあなたを得ることができるかもしれません。 – XaolingBao

答えて

1

私も同じ問題に直面しましたが、後でJavafxがフォントの一部を理解していないことに気付きました。だから、cssを使って自分のノードに正しいフォントを設定してから、ノードを印刷しなければならなかった。私はあなたが印刷しようとしているノードに設定されているフォントをチェックしてください。

関連する問題