in src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapterUtil.java [178:203]
protected static void moveAnnotations(PDPage page, List pageAnnotations, AffineTransform at, Rectangle pos) {
PDRectangle mediaBox = page.getMediaBox();
PDRectangle cropBox = page.getCropBox();
PDRectangle viewBox = cropBox != null ? cropBox : mediaBox;
for (Object obj : pageAnnotations) {
PDAnnotation annot = (PDAnnotation) obj;
PDRectangle rect = annot.getRectangle();
float translateX = (float) (at.getTranslateX() - viewBox.getLowerLeftX());
float translateY = (float) (at.getTranslateY() - viewBox.getLowerLeftY());
if (rect != null) {
rect.setUpperRightX(rect.getUpperRightX() + translateX);
rect.setLowerLeftX(rect.getLowerLeftX() + translateX);
rect.setUpperRightY(rect.getUpperRightY() + translateY);
rect.setLowerLeftY(rect.getLowerLeftY() + translateY);
int rotation = PDFUtil.getNormalizedRotation(page);
if (rotation > 0) {
AffineTransform transform = AffineTransform.getTranslateInstance(translateX, translateY);
float height = (float)pos.getHeight() / 1000f;
rotateStream(transform, rotation, height, annot);
transform.translate(-translateX, -translateY);
rect = applyTransform(rect, transform);
}
annot.setRectangle(rect);
}
}
}