gpt4 book ai didi

JavaFX Print WebView as PDF 仅打印一页

转载 作者:行者123 更新时间:2023-11-30 06:30:19 27 4
gpt4 key购买 nike

我尝试通过 Microsoft Print to PDF 打印机打印 WebView 的内容。

这是我的代码:

BorderPane root = new BorderPane();
Scene scene = new Scene(root,1920,4000);
scene.getStylesheets().add(getClass().
getResource("application.css").toExternalForm());

WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.load(url.toString());
scene.setRoot(browser);
primaryStage.setScene(scene);

...

if(printerToUse != null) {
PrinterJob job = PrinterJob.createPrinterJob();
job.setPrinter(printerToUse);
PageLayout pageLayout = printerToUse.createPageLayout(Paper.A4,
PageOrientation.PORTRAIT, Printer.MarginType.HARDWARE_MINIMUM);
job.printPage(pageLayout, browser);
job.endJob();
}

系统提示我选择保存位置,并且打印了 PDF,但它只包含网页的一页裁剪页。即使我选择 A0 的页面布局(该页面肯定适合该页面布局),我也只会得到一个裁剪后的一页 PDF。如何打印 WebView 中显示的整个区域?

最佳答案

尝试使用 WebEngine 对象的 print() 方法,而不是使用 job.printPage()
例如:

if (job != null) {
webEngine.print(job);
job.endJob();
}

这应该可以解决您的问题。

关于JavaFX Print WebView as PDF 仅打印一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46295630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com