gpt4 book ai didi

java - 从 javascript、JSP 或 Java 运行 Phantomjs

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:50 28 4
gpt4 key购买 nike

嗨,我是 phantomjs 的新手,

我已经使用命令将 HTML 生成为 PDF。但我想通过单击页面上的按钮来生成 PDF。并通过某种方式调用 phantomjs 以生成我给定的 pdf URL。

您还可以推荐一些 api,这些 api 可以生成带有图表和图像的 HTML 格式的 PDF,并且可以轻松地与 JSP 和 Servlet 集成。

最佳答案

我假设您想要做的是从 Java 代码中运行 phantomjs 可执行文件。

您首先需要知道要执行的命令的完整路径,在您的例子中是 phantomjs。如果您下载了 zip,这是您将文件解压缩到的目录,您会在其中看到 phantomjs.exe 可执行文件。如果您是通过包管理器下载的,要从终端运行以找出完整路径:

which phantomjs

会显示类似的东西

/usr/bin/phantomjs

一旦你有了它,你就必须使用 Runtime类,除其他外,它允许您使用 exec 直接在操作系统上运行命令。您运行的内容将被处理为 Process您可以使用它来读取命令的输出。

一个简单的例子,没有任何你应该做的异常处理。

    Process process = Runtime.getRuntime().exec("/usr/bin/phantomjs myscript.js");
int exitStatus = process.waitFor();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader (process.getInputStream()));

String currentLine=null;
StringBuilder stringBuilder = new StringBuilder(exitStatus==0?"SUCCESS:":"ERROR:");
currentLine= bufferedReader.readLine();
while(currentLine !=null)
{
stringBuilder.append(currentLine);
currentLine = bufferedReader.readLine();
}
System.out.println(stringBuilder.toString());

确保进行正确的错误处理,因为您正在创建 JVM 外部的进程,JVM 不能完全控制它,如果您不能很好地管理错误,可能会给程序的其余部分带来问题。

关于java - 从 javascript、JSP 或 Java 运行 Phantomjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16889950/

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