Я пытаюсь получить BufferedImage от PDXObjectImage что Png суффикса:Get BufferedImage из PDXObjectImage детских
PDResources pdResources = pdPage.getResources();
Map<String, PDXObject> xobjects = (Map<String, PDXObject>) pdResources.getXObjects();
if (xobjects != null) {
for (String key : xobjects.keySet()) {
PDXObject xobject = xobjects.get(key);
if (xobject instanceof PDXObjectImage) {
PDXObjectImage imageObject = (PDXObjectImage) xobject;
String suffix = imageObject.getSuffix();
if (suffix != null) {
BufferedImage image = imageObject.getRGBImage();
}
}
}
}
этого код работает отлично, имеющим JPG PDXObjectImages, но изображение является недействительным с PNG изображений.
Каков правильный способ получить BufferedImage из PDXObjectImage с суффикс PNG?
Я также попытался:
BufferedImage image = ImageIO.read(((PDPixelMap)imageObject).getPDStream().createInputStream());
Но опять-таки изображение является недействительным.
Я использую версию org.apache.pdfbox 1.8.11.
Если у вас есть сообщения в журнале? Возможно, вам нужно установить декодер jbig2. Btw последняя версия 2.0.2. –
@TilmanHausherr У меня нет ошибок или предупреждений, imageObject.getRGBImage() просто возвращает null. –
Тогда, пожалуйста, поделитесь PDF. –