我正试图从pdf框中提取与PDF中显示的图像完全相同的图像
@Override
protected void processOperator(Operator operator, List<COSBase> operands) throws IOException {
final String operation = operator.getName();
if ("Do".equals(operation)) {
final COSName objectName = (COSName) operands.get(0);
final PDXObject element = getResources().getXObject(objectName);
if (element instanceof PDImageXObject) {
final ImageFile imageFile = buildImage(element);
images.add(imageFile);
} else if (element instanceof PDFormXObject) {
PDFormXObject form = (PDFormXObject) element;
showForm(form);
}
} else {
super.processOperator(operator, operands);
}
}
private void buildImage(final PDXObject element) throws IOException {
final PDRectangle cropBox = getCurrentPage().getCropBox();
final PDImageXObject image = (PDImageXObject) element;
final Matrix ctmNew = getGraphicsState().getCurrentTransformationMatrix();
final BufferedImage bImage = image.getImage();
transformImage(bImage, ctmNew); // please suggest what to do here???
}
提取的BufferedImage按原样显示,即未旋转翻转等。
我知道我需要对提取的图像进行后期转换。但是我还是不明白,我可以为此目的重用转换矩阵吗?
请提供一些有关进一步走法的建议。 谢谢!