Здраствуйте, хочу создать сервис который принимает base64 ppt/pptx и туда в конце добавит картинку(png) и конвертировать в pdf и отправить base64 созданного pdf. Использую libreOffice и XMLSlideShow.
Проблемы:
-
Когда создаю из base64 ppt/pptx создается файл но при открытие выходят ошибка
сам код такойbyte[] bytes = Base64.getDecoder().decode(base64); if (bytes != null) { try { FileDescriptor fileDescriptor = dataManager.create(FileDescriptor.class); fileDescriptor.setName(name + "." + type); fileDescriptor.setCreateDate(new Date()); fileDescriptor.setExtension(type); fileLoader.saveStream(fileDescriptor, () -> new ByteArrayInputStream(bytes)); // сохраняем и присваиваем FileDescriptor fileDescriptor = dataManager.commit(fileDescriptor); NewEntity newEntity = metadata.create(NewEntity.class); newEntity.setFile(fileDescriptor); dataManager.commit(newEntity); } catch (FileStorageException e) { throw new RuntimeException(e); } }
-
XMLSlideShow работает с FileInputStream и для этого нужно filePath. Как я могу получить filePath созданного pptx файла?
примерный код который написал(не работает)FileInputStream inputStream = new FileInputStream("http://localhost:8080/app/rest/v2/files/" + document.toUrlParam()); XMLSlideShow hslfSlideShow = new XMLSlideShow (inputStream);
document это созданный FileDescriptor