Hi Alvaro Thank you for the response! Yes, this is it. I just found a sample code PDFKitLinker2, and it showed how to do just what i need.
27 марта 2012 г. 15:05 пользователь Alvaro Costa Neto <nepheus...@gmail.com> написал: > Hey Nick, how are you? > > Try to use the PDFView's convertPoint/Rect:to/fromPage: methods > <http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/QuartzFramework/Classes/PDFView_Class/Reference/Reference.html>. > The trick is to always remember to use a common ground (the PDFView itself > in this case) before converting to/from page coordinates. I don't know if the > convert methods take scale factor into account, but I believe they do. > > Best regards, > Alvaro Costa Neto > > Em 27/03/2012, às 08:19, Nick escreveu: > >> Hello >> >> I would like to place a PDFAnnotation onto a PDF page in a place where >> the user clicked with the mouse. >> Position for PDFAnnotations is specified using "page coordinates". >> Mouse position - using global coordinates, which can be translated >> into PDFView coordinates. However, I can't figure out how to translate >> view coordinates into page coordinates correctly. Here's what I am >> doing: >> >> NSPoint locationInView = [self convertPoint:[theEvent >> locationInWindow] fromView:[[self window] contentView]]; >> NSPoint locationOnPage = [self convertPoint:locationInView >> fromView:self]; >> float scaleFactor = 1/[self scaleFactor]; >> locationOnPage = NSMakePoint((locationOnPage.x)*scaleFactor, >> (locationOnPage.y)*scaleFactor); >> >> This locationOnPage contains correct values (i.e., the annotation is >> placed where the mouse button was clicked) only if the zooming was >> 100%, and view boundaries exactly matched page boundaries (as shown on >> the picture: http://rghost.net/37251215/image.png). >> However, if the page is zoomed in/out, and does not exactly occupy the >> whole PDFView space (http://rghost.net/37251118/image.png) I do not >> get right coordinates: when I click in the bottom left corner of the >> PDFView, i see annotation appear in the bottom left corner of the >> page, which is not even on the page.. >> >> How could I do this right? >> All I need is the page origin position on the view, but there's no >> such a method, as it seems.. >> >> Thank you >> >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/nepheus.br%40gmail.com >> >> This email sent to nepheus...@gmail.com > > > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/eveningnick%40gmail.com > > This email sent to eveningn...@gmail.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com