public ArrayList run()

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;
    }