use*_*207 6 javascript java jsp phantomjs
嗨,我是phantomjs的新手,
我已使用命令生成HTML到PDF.但我想通过单击页面上的按钮来生成PDF.并通过某种方式调用phantomjs来生成我的给定URL到pdf.
您还可以建议使用图表和图像生成生成PDF格式的API,并且可以轻松地与JSP和Servlet集成.
cha*_*its 23
我假设您要做的是从Java代码中运行phantomjs可执行文件.
在您的情况下,您需要首先知道要执行的命令的完整路径,phantomjs.如果您下载了zip,则这是您将文件解压缩到的目录,您可以在其中看到phantomjs.exe可执行文件.如果您是通过包管理器下载的,那么要查找从终端运行的完整路径:
which phantomjs
Run Code Online (Sandbox Code Playgroud)
这将显示类似的东西
/usr/bin/phantomjs
Run Code Online (Sandbox Code Playgroud)
一旦你有了这个,你将不得不使用Runtime类,除其他外,它允许你使用exec直接在操作系统上运行命令.您运行的内容将作为一个进程处理,您可以使用该进程从中读取命令的输出.
一个快速示例,没有您应该执行的任何异常处理.
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());
Run Code Online (Sandbox Code Playgroud)
确保正确执行错误处理,因为您正在创建JVM无法完全控制的JVM外部进程,如果您不能很好地管理错误,可能会对程序的其余部分产生问题.
归档时间: |
|
查看次数: |
13996 次 |
最近记录: |