4

JavaFX を使用して Web ビューで HTML ファイルを開こうとしています。今、私はコンテンツを印刷したいと思っていますWebView

これが私のコードです:

Group group= new Group();
Scene scene= new Scene(group);
fxpanel.setScene(scene);  
WebEngine eng;
WebView webview = new WebView ();
group.getChildren().add(webview);
webview.setMinSize(740,430);
webview.setMaxSize(740,430);  
webview.setVisible(true);
eng= webview.getEngine();


try
{ 
    eng.load(new File("path of the htmlfile").toURI().toURL().toString());
}
catch(Exception ex)
{ 
    JOptionPane.showMessageDialog(null,"exception") ;}
}
4

2 に答える 2

3

JavaFX 8 PrintJob および Printer API を使用して、任意の JavaFX シーン グラフ ノードを印刷できます。

投稿へのリンクは次のとおりです。
http://carlfx.wordpress.com/2013/07/15/introduction-by-example-javafx-8-printing/

魔法はこの関数にあります: WebView を受け取り、デフォルトのプリンターに出力します。

public void print(final Node node) {
    Printer printer = Printer.getDefaultPrinter();
    PageLayout pageLayout = printer.createPageLayout(Paper.NA_LETTER, PageOrientation.PORTRAIT, Printer.MarginType.DEFAULT);
    double scaleX = pageLayout.getPrintableWidth() / node.getBoundsInParent().getWidth();
    double scaleY = pageLayout.getPrintableHeight() / node.getBoundsInParent().getHeight();
    node.getTransforms().add(new Scale(scaleX, scaleY));

    PrinterJob job = PrinterJob.createPrinterJob();
    if (job != null) {
        boolean success = job.printPage(node);
        if (success) {
            job.endJob();
        }
    }
}
于 2013-11-01T19:02:50.063 に答える
3

印刷 WebView は、Java 8 の機能として追加されます。

この機能を実装するJava 8 プレリリースをダウンロードできます。

Java 8 は来年 3 月にリリースされる予定です。


Feature Tracker: RT-17666 Webview と HTMLEditor はコンテンツの印刷をサポートする必要があります


サイドノート:投稿されたコードでは、同じスレッドで JavaFX と Swing コードを混在させます。通常、これを行うべきではありません => 詳細については、JavaFX Swing Interoperability Tutorial を参照してください

于 2013-04-29T06:43:25.710 に答える