0
このコードの目的は、webviewを通じてpdfファイルを表示することです。
pdfはボタンクリックで読み込まれますが、画面は白のままで、永久に読み込まれます。一度ボタンをクリックすると、Webビューにpdfビューアがロードされるのでエラーはありません。何も起こりません。javafx webview
public class customFXMLController implements Initializable {
@FXML
private TabPane tabPane;
@FXML
private WebView web;
@FXML
private Button btn;
WebEngine engine;
@Override
public void initialize(URL location, ResourceBundle rb) {
engine = web.getEngine();
String url = getClass().getResource("/web/viewer.html").toExternalForm();
engine.setUserStyleSheetLocation(getClass().getResource("/web/viewer.css").toExternalForm());
engine.setJavaScriptEnabled(true);
engine.load(url);
}
public void getWebView() {
startPDF();
tabPane.getSelectionModel().select(1);
}
//this is the button click event
public void startPDF() {
try {
byte[] data = Files.readAllBytes(new File("C:/Users/dan1223/Desktop/TelevisionMan.pdf").toPath());
String base64 = Base64.getEncoder().encodeToString(data);
web.getEngine().executeScript("openFileFromBase64('" + base64 + "')");
} catch (Exception e) {
e.printStackTrace();
}
}
}