PDF to JPG problem

This creates a png image from a pdf…

<cffunction name="PDFpageToImage" output="false">
    
  <cfargument name="filebytes" required="true">
  <cfargument name="pageNo" default="0">
  <cfargument name="dpi" default="72">
  
  <cfscript>
    /* creates a 72dpi base64 png image of pdf page input as bytes (could also pass in filename)
	   for byteArray return, do return after baos.close() and doc.close()
	   'org.apache.pdfbox.app' is in bundles directory :)
	*/
    var PDDocument = CreateObject("java", "org.apache.pdfbox.pdmodel.PDDocument", "org.apache.pdfbox.app", "2.0.18");
    var PDFRenderer = CreateObject("java", "org.apache.pdfbox.rendering.PDFRenderer", "org.apache.pdfbox.app", "2.0.18");
	var ImageIO = CreateObject("java", "javax.imageio.ImageIO");
	
	
	var doc = PDDocument.init().load(arguments.filebytes);
    //var doc = PDDocument.init().load(arguments.filename);
       
	var renderer = PDFRenderer.init(doc);
	
	var image = renderer.renderImageWithDPI(arguments.pageNo, arguments.dpi);
		
	var baos = createObject("java","java.io.ByteArrayOutputStream").init();
	
	ImageIO.write(image, "PNG", baos);
	
	baos.flush();
	
	var imageInBytes = baos.toByteArray();
	
	baos.close();
	
	doc.close();
		
	var Base64 = CreateObject("java", "java.util.Base64");
		
	var b64 = Base64.getEncoder().encodeToString(imageInBytes);
			
	return b64;
	
	//output: 'res' is the returned base64 (b64)
	//dataurl = "data:image/png;base64,#res#"; see pagetoimage.cfm
	
  </cfscript>
  
</cffunction>
2 Likes