Point2D outputLoc = new Point2D.Float(); inverse.transform(new Point(x, y), outputLoc);
double[] mx = new double[6]; inverse.getMatrix(mx);
    private void drawPDFAsImage(PDFAsImage image, int x, int y) {        URL url = image.getURL();        PdfReader reader = null;                try {            reader = getReader(url);        } catch (IOException e) {            throw new XRRuntimeException("Could not load " + url + ": " +                     e.getMessage(), e);        }                PdfImportedPage page = getWriter().getImportedPage(reader, 1);                // FIXME Life is not that complicated...        AffineTransform at = AffineTransform.getTranslateInstance(x,y);        at.translate(0, image.getHeightAsFloat());                AffineTransform inverse = normalizeMatrix(_transform);        AffineTransform flipper = AffineTransform.getScaleInstance(1,-1);        inverse.concatenate(at);        inverse.concatenate(flipper);                Point2D outputLoc = new Point2D.Float();        inverse.transform(new Point(x, y), outputLoc);                AffineTransform outputT = AffineTransform.getTranslateInstance(                outputLoc.getX(), outputLoc.getY());        outputT.scale(image.scaleWidth(), image.scaleHeight());                double[] mx = new double[6];        outputT.getMatrix(mx);                _currentPage.addTemplate(page,                (float)mx[0], (float)mx[1], (float)mx[2],                (float)mx[3], (float)mx[4], (float)mx[5]);    }