New Forum | Previous | Next | (P-PDF) Developers
Topic: why don't pages rotate
Conf: (P-PDF) Developers, Msg: 59910
Date: 5/29/2002 05:42 PM
I've noticed that Acrobat 4.05 has new rotation buttons that work for documents that have security set to disallow changing the doc. I have been trying to implement similar functionality.
PDPageSetRotate causes an error. This is not a surprise for protected documents.
I tried getting around this at the Cos level, and I am almost there, but something is missing, and after wrestling with this all day, I am hoping that someone else has an idea. Essentially, I set the /Rotate key at the Cos level and call PDPageNotifyContentsDidChangeEx and AVPageViewInvalidateRect. Even as I scroll around on the page, it still displays at the original rotation. If I scroll to another page and then back to the original page, the page displays as rotated. As I wrote, it seems almost there, but I can't get it to redraw immediately on its own.
Any and all ideas are deeply appreciated, for this mystery is gnawing at me. It is, however purely for academic interest. For the actual product, I just use AVToolButtonExecute to call Adobe's buttons before doing my other stuff, and it works well.
AVDoc avDoc = 0;
avDoc = AVAppGetActiveDoc();
if (avDoc == 0)
pageView = AVDocGetPageView(avDoc);
if (pageView == 0)
page = PDDocAcquirePage(AVDocGetPDDoc(avDoc),0);
pageCos = PDPageGetCosObj(page);
if (CosObjGetType(pageCos) == CosDict)
rotateCos = CosNewInteger(CosObjGetDoc(pageCos),false,180);
AVPageViewGetAperture (pageView, &apertureRect);
AVPageViewScrollTo (pageView,0, 0);