Tôi giả định rằng những gì bạn muốn làm là chạy các phantomjs thực thi từ bên trong mã Java.
Trước tiên, bạn cần phải biết đường dẫn đầy đủ của lệnh bạn muốn thực thi, trong trường hợp của bạn là phantomjs. Nếu bạn đã tải xuống tệp nén, đây là thư mục mà bạn đã giải nén tệp trong đó bạn sẽ thấy tệp thực thi phantomjs.exe. Nếu bạn đã tải về nó thông qua quản lý gói, để tìm ra đường dẫn đầy đủ chạy từ một thiết bị đầu cuối:
which phantomjs
nào sẽ hiển thị một cái gì đó giống như
/usr/bin/phantomjs
Một khi bạn có điều đó, bạn sẽ phải sử dụng các Runtime lớp, trong đó, trong số những thứ khác, cho phép bạn chạy lệnh trực tiếp trên hệ điều hành bằng cách sử dụng exec. Những gì bạn chạy, sau đó sẽ được xử lý dưới dạng Process mà bạn có thể sử dụng để đọc đầu ra của lệnh từ đó.
Ví dụ nhanh không có bất kỳ xử lý ngoại lệ nào mà bạn NÊN đang thực hiện.
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());
Hãy chắc chắn để làm xử lý lỗi thích hợp, như bạn đang tạo ra quá trình bên ngoài để JVM, mà JVM không chính xác điều khiển, và có thể tạo ra các vấn đề với phần còn lại của chương trình của bạn nếu bạn không quản lý lỗi tốt.
Tôi có yêu cầu tương tự. Tôi muốn in một phần trang jsp của tôi dưới dạng PDF. Bạn có thể nói bạn đã thực hiện nó như thế nào? –