У меня есть контроллер, который создает много изображений из pdf (pdfBox). Я сохраняю все изображения в список. И мне нужно отправить одну картинку на просмотр, когда я нажимаю кнопку.или введите значение
public class Pdf{
public byte[] PDFCREATE(){
byte[] pdf = ...;
//Code for creating pdf using Itext
return pdf;
}
}
public List<byte[]> getImage(byte[] pdf) throws Exception{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
List<byte> listImg = new List()<>;
try (final PDDocument document = PDDocument.load(file)){
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int page = 0; page < document.getNumberOfPages(); ++page)
{
BufferedImage bim = pdfRenderer.renderImage(page)
ImageIO.write(bim, "png",baos);
listImg.add(baos)
}
document.close();
} catch (IOException e){
System.err.println("Exception while trying to create pdf document - " + e);
}
return baos.toByteArray();
С представлением i post :
public ResponseEntity<?> CreateFont(int pictureNumber ) {
PDF pdf= new PDF();
PdfToImg pdfToImg = new PdfToImg();
List<byte []> fileBytes = pdfToImg.getImage(pdf.PDFCREATE());
byte[] encoded= Base64.encodeBase64(fileBytes.get(pictureNumber ));
String encodedString = new String(encoded);
return new ResponseEntity<String>(
"<img src='data:image/jpeg;base64," + encodedString + "' alt='' width='420' height='580'>",
HttpStatus.OK);
Но здесь я должен каждый раз создавать pdf.Можно ли просто сохранить значения из getImage в список?. И когда пользователь вводит значение (pictureNumber) или каждый раз нажимает кнопку, чтобы не создавать новый pdf. И вместо этого принимать значения из списка. И создаватьНовый список после обновления страницы Мне нужно где-то хранить файл списка файлов, но где?
Извините за мой английский