图片最后能生成,但是 控制台刷了一串ScratchFileBuffer not closed! - 2019-04-13 22:03:49,204 DEBUG Finalizer
public static byte[] createPNG(byte[] by) {
byte[] imgby=null;
PDDocument doc =null;
ByteArrayOutputStream baos = null;
PDFRenderer renderer =null;
try {
baos = new ByteArrayOutputStream();
doc = PDDocument.load(by);
renderer = new PDFRenderer(doc);
int pageCount = doc.getNumberOfPages();
for (int i = 0; i < pageCount; i++) {
//BufferedImage image = renderer.renderImageWithDPI(i, 296);
BufferedImage image = renderer.renderImage(i, 2.5f);
ImageIO.write(image, "PNG", baos);
//imgby = baos.toByteArray();
//baos.close();
image.flush();
}
imgby = baos.toByteArray();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
baos.flush();
baos.close();
doc.close();
} catch (IOException e) {
System.out.println("关闭流异常");
e.printStackTrace();
}
}
// buff2Image(by,"d:\\logs\\test.jpg");
System.out.println("over"+":"+imgby.length);
return imgby;
}