Ich nehme an, dass Sie die phantomjs ausführbare Datei innerhalb von Java-Code ausführen möchten.
Sie müssen zuerst den vollständigen Pfad des Befehls kennen, den Sie ausführen möchten, in Ihrem Fall phantomjs. Wenn Sie die ZIP-Datei heruntergeladen haben, ist dies das Verzeichnis, in das Sie die Datei entpackt haben. Dort sehen Sie die ausführbare Datei phantomjs.exe. Wenn Sie es durch Paket-Manager heruntergeladen haben, um den vollständigen Pfad von einem Terminal laufen herauszufinden:
which phantomjs
die so etwas wie
/usr/bin/phantomjs
angezeigt werden Sobald Sie, dass, haben Sie die verwenden Runtime Klasse, mit der Sie unter anderem Befehle direkt auf dem Betriebssystem mithilfe von exec ausführen können. Was Sie ausführen, wird dann als Process behandelt, mit der Sie die Ausgabe des Befehls auslesen können.
Ein schnelles Beispiel ohne die Ausnahmebehandlung, die Sie tun sollten.
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());
Stellen Sie sicher, die richtige Fehlerbehandlung zu tun, wie Sie Prozess außerhalb der JVM zu schaffen sind, die die JVM nicht genau Kontrolle der Fall ist, und Fragen im Zusammenhang mit dem Rest des Programms erstellen können, wenn Sie es nicht schaffen, Fehler gut.
ich die gleiche Anforderung haben. Ich möchte einen Teil meiner JSP-Seite als PDF drucken. Können Sie sagen, wie Sie es umgesetzt haben? –