【问题标题】:Create PDFs with JavaFX WebView使用 JavaFX WebView 创建 PDF
【发布时间】:2014-11-30 01:19:37
【问题描述】:

是否可以借助 PDF 库从 JavaFX Webview 创建 PDF?

我知道 webview 支持 printing,但是如果没有主机系统上可用的典型 pdf 打印驱动程序之一,是否可以打印到 pdf。

【问题讨论】:

  • 看看stackoverflow.com/questions/633780/converting-html-files-to-pdf。应该可以从文档中提取 HTML (webView.getEngine().getDocument()) 并将其传递给 iText 以转换为 PDF。
  • @James 这将使用 iTexts html 渲染引擎而不是 webkit。结果可能与用户看到的和得到的不同。
  • 是的,没错:尽管我认为用户通常会期望网页的打印外观与屏幕外观有很大不同。但我可以看到这可能不是你想要的。因此,另一种方法可能是在 Web 视图上调用 snapshot,将生成的 JavaFX 图像转换为 iText 图像(通过 AWT 图像),然后将其添加到 iText PdfDocument。您将需要采取一些步骤来确保您对整个页面(不仅仅是屏幕可见部分)进行快照,并且可能会进行一些分页。
  • 同意用户期望打印输出不同,但如果您尝试使用 iText 打印 html5 + JS + Bootstap 页面,结果可能与用户期望和接受的结果相去甚远。制作snapshot 并不是一个PDF,只是一个PDF化的图像,但它是解决方案:)

标签: java pdf javafx


【解决方案1】:

我无法找到纯 Java 解决方案。我更喜欢将PhantomJS 用于非Java 项目,我认为它也很适合WebView(因为它也是基于WebKit 的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2017-07-11
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多