【问题标题】:JavaFX: Display PDF in WebViewJavaFX:在 WebView 中显示 PDF
【发布时间】:2017-07-12 15:45:34
【问题描述】:

我需要在 JavaFX 的默认 WebView 中显示 PDF。我想,我可以很容易地做到这一点。

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;

public class ShowPdfTest extends Application {
    public static void main(String[] args) {
        launch();
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        WebView webView = new WebView();
        WebEngine engine = webView.getEngine();
        Scene scene = new Scene(webView);
        primaryStage.setScene(scene);
        primaryStage.show();

//        engine.load("https://www.google.com");
        engine.load("http://www.orimi.com/pdf-test.pdf");
    }
}

我错了。没发生什么事。似乎 WebEngine 没有内置的 PDF-Renderer。我尝试了JxBrowser,效果很好,但成本相当高。

那么有没有办法在默认的 WebView 组件中直接显示 PDF?

【问题讨论】:

  • 您可以在 WebView 中使用Mozilla Pdf.js
  • 好的,但是如果我有这样的东西怎么办? cs.tut.fi/~jkorpela/html/iframe-pdf.html
  • Pdf.js 不需要 iframe!您可以在 WebView 中使用 Pdf.js 调用您的 pdf 文件。
  • 不,我知道我可以使用 Pdf.js 在 WebView 中显示 PDF。但我的目标是像任何其他浏览器一样动态呈现 PDF。因此,如果网页在 iframe 或 JavaScript 中嵌入了 PDF,我希望能够使用嵌入的 PDF 显示整个页面。

标签: pdf javafx webview jxbrowser webengine


【解决方案1】:

JxBrowser 运行良好,但成本相当高。

如果你的应用是开源项目,你可以获得JxBrowser开源许可证here

【讨论】:

    猜你喜欢
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    相关资源
    最近更新 更多