in deploy_code/multipagepdfa2i_pngextract/src/main/java/PdfFromS3Pdf.java [57:82]
public ArrayList<String> run(String cur_id, String cur_bucket, String cur_key) throws IOException, InterruptedException {
ArrayList<String> image_keys = new ArrayList<String>();
InputStream inputPdf = getPdfFromS3(cur_bucket, cur_key);
PDDocument inputDocument = PDDocument.load(inputPdf);
PDFRenderer pdfRenderer = new PDFRenderer(inputDocument);
for(int cur_page = 0; cur_page < inputDocument.getNumberOfPages(); ++cur_page) {
BufferedImage image = pdfRenderer.renderImageWithDPI(cur_page, 300, org.apache.pdfbox.rendering.ImageType.RGB);
String new_key = "wip/" + cur_id + "/" + String.valueOf(cur_page) + ".png";
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write( image, "png", baos );
baos.flush();
byte[] imageInByte = baos.toByteArray();
baos.close();
ByteArrayOutputStream os = new ByteArrayOutputStream();
UploadToS3(cur_bucket, new_key, "application/png", imageInByte);
image_keys.add(String.valueOf(cur_page));
}
return image_keys;
}