Я реализовал pdfviewer в своем приложении javaFX, основываясь на https://blog.samirhadzic.com/2017/02/09/show-pdf-in-your-application/. Однако, он не загружает pdf.Программа просмотра PDF показала одну ошибку:
PDF.js v2.0.943 (build: dc98bf76) Сообщение: Ошибка типа
Я пробовал несколько файлов PDF, они не были повреждены.
engine = web.getEngine();
String url = getClass().getResource("resources/web/viewer.html").toExternalForm();
engine.setUserStyleSheetLocation(getClass().getResource("web.css").toExternalForm());
engine.setJavaScriptEnabled(true);
engine.load(url);
engine.getLoadWorker()
.stateProperty()
.addListener((observable, oldValue, newValue) -> {
JSObject window = (JSObject) engine.executeScript("window");
window.setMember("java", new JSLogListener());
engine.executeScript("console.log = function(message){ java.log(message); };");
if (newValue == Worker.State.SUCCEEDED) {
try {
byte[] data = FileUtils.readFileToByteArray(new File("C:/werkruimte/123.pdf"));
String base64 = Base64.getEncoder().encodeToString(data);
engine.executeScript("openFileFromBase64('" + base64 + "')");
} catch (Exception e) {
e.printStackTrace();
}
}
});