New Forum | Previous | Next | (P-PDF) Developers
Topic: how to insert annot in a rotated PDF?
Conf: (P-PDF) Developers, Msg: 142743
Date: 11/12/2005 11:36 AM
I was trying to insert an annot in a rotated PDF file. However the annot inserted was also rotated.
To fix this, I applied the correct matrix (cos(x) sin(X) -sin(x) cos(x) y z) to the image AP of the annot. The image was correctly rotated. However, it seems that the bounding box of the image is still the original orientation. When the image is square (height=width) you won't see the difference. But when the image is rectangle, it will be distorted - height becomes width.
Can anyone here give me a hint what is missing? It will be highly appreciated.
Here is what I did:
PDRotate rotate = PDPageGetRotate( pdPage );
// apply matrix
// if rotated we need to rotate the rect
if( rotate == 90 || rotate == 270 )
rect->top += bmih.biWidth;
rect->right += bmih.biHeight;
rect->top += bmih.biHeight;
rect->right += bmih.biWidth;
AVPageViewDeviceRectToPage ( pageView, rect, &pdLocation);
annot = PDPageAddNewAnnot(pdPage, -2, ASAtomFromString("Stamp"), &pdLocation);
An interesting thing to note is that, both rect and pdLocation hold correct value - image height and width switched if PDF rotate 90/270 degrees. However the resulting PDF still has the rect array in original orientation.
Thank you very much for your help/suggestion!