I would like to convert a pdf page to a 1bit bw image via Bradley’s method.
Finally I need the result as a BufferedImage. So far I did this which works:
public static BufferedImage renderBinarizedImage(Document document, int pageNumber, int renderDpi) {
Page page = document.getPages().get_Item(pageNumber);
PngDevice pngDevice = new PngDevice(new Resolution(renderDpi));
BufferedImage rgbImage = pngDevice.processToBufferedImage(page);
try (RasterImage rasterImage = ImageExtensions.fromJava(rgbImage)) {
rasterImage.binarizeBradley(8.0);
BufferedImage result = ImageExtensions.toJava(rasterImage, BufferedImage.TYPE_BYTE_BINARY);
return result;
}
}
Is there a simpler way to binarize a pdf page into a BufferedImage without using the file system like in the code above?
E.g. I hoped to find something like this
RasterImage rasterImage = page.binarizeBradley(8.0);
Or something at the device level
RasterImage rasterImage = pngDevice.processToRasterImage(page);