gpt4 book ai didi

java - 使用 selenium chrome 驱动程序生成 PDF

转载 作者:行者123 更新时间:2023-12-03 17:36:16 28 4
gpt4 key购买 nike

要从 HTML 文件生成 PDF,我想使用 selenium Chrome 驱动程序。

我用命令行试了一下:

chrome.exe --headless --disable-gpu --print-to-pdf   file:///C:invoiceTemplate2.html

它工作得很好,所以我想用 JAVA 来做到这一点,这是我的代码:
System.setProperty("webdriver.chrome.driver", "C:/work/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless", "--disable-gpu", "--print-to-pdf",
"file:///C:/invoiceTemplate2.html");
WebDriver driver = new ChromeDriver(options);
driver.quit();

服务器启动没有问题,但 chrome 使用多个选项卡打开,其中包含我在选项中指定的参数。

有什么解决办法吗?谢谢。

最佳答案

这确实可以使用 Selenium 和 ChromeDriver(用 Chrome 85 版测试)来完成,但是从 webdriver 启动 Chrome 时使用“打印到 pdf”选项不是解决方案。
要做的就是使用 ChromeDriver 的命令执行功能:
https://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html#execute-java.lang.String-java.util.Map-
有一个命令叫 Page.printToPDF提供PDF输出功能。返回包含项目“数据”的字典,生成的 PDF 为 base-64 编码格式。
不幸的是,我没有完整的 Java 示例,但在这个答案中,有一个 C# 示例(与 Java 相比,C# 中的 Selenium 方法命名不同,但原理应该相同):
https://stackoverflow.com/a/63970792/2416627Page.printToPDF Chrome 中的命令记录在此处:
https://chromedevtools.github.io/devtools-protocol/tot/Page/#method-printToPDF

关于java - 使用 selenium chrome 驱动程序生成 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47729046/

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