FROM : Laurent Cerveau
DATE : Sat May 17 21:10:46 2008
On May 17, 2008, at 6:57 PM, Antonio Nunes wrote:
> I would suggest you try to verify why John's suggestion fails, as
> one would expect it to work. Alternatively try this:
>
> Untested:
> 1. Ask for the bounds of the selection
> 2. Get the string of the selection
> 3. Get the string of the page
> 4. Use rangeOfString:options:range: on the page-string to search for
> the selection-string (or you can use an NSScanner, but I think this
> is simpler)
> 5. If you get a match you have a range. Use it to call
> selectionForRange: on the page
> 6. If the bounds of the returned selection match the bounds returned
> in step 1 you've found your range. If not continue searching the
> page-string until you find the match.
>
I have not tested this yes but after a few test found out that using
directly rect returned by [PDFSelection boundsForPage: ()] is not
possible. However first going through NSIntegralRect on the result of
[PDFSelection boundsForPage: ()] leads to correct behavior. To me
this looks like an inconsistency in the API and I will enter a bug
> I guess we should file a bug requesting PDFSelections be able to
> return their rangeForPage: and also their rangeForDocument or
> similarly named method that would yield the range within the full
> text of the document.
Will do.
Thanks
laurent
DATE : Sat May 17 21:10:46 2008
On May 17, 2008, at 6:57 PM, Antonio Nunes wrote:
> I would suggest you try to verify why John's suggestion fails, as
> one would expect it to work. Alternatively try this:
>
> Untested:
> 1. Ask for the bounds of the selection
> 2. Get the string of the selection
> 3. Get the string of the page
> 4. Use rangeOfString:options:range: on the page-string to search for
> the selection-string (or you can use an NSScanner, but I think this
> is simpler)
> 5. If you get a match you have a range. Use it to call
> selectionForRange: on the page
> 6. If the bounds of the returned selection match the bounds returned
> in step 1 you've found your range. If not continue searching the
> page-string until you find the match.
>
I have not tested this yes but after a few test found out that using
directly rect returned by [PDFSelection boundsForPage: ()] is not
possible. However first going through NSIntegralRect on the result of
[PDFSelection boundsForPage: ()] leads to correct behavior. To me
this looks like an inconsistency in the API and I will enter a bug
> I guess we should file a bug requesting PDFSelections be able to
> return their rangeForPage: and also their rangeForDocument or
> similarly named method that would yield the range within the full
> text of the document.
Will do.
Thanks
laurent
| Related mails | Author | Date |
|---|---|---|
| Laurent Cerveau | May 16, 08:43 | |
| Antonio Nunes | May 16, 09:11 | |
| John Calhoun | May 16, 21:40 | |
| Laurent Cerveau | May 17, 15:13 | |
| Laurent Cerveau | May 17, 15:13 | |
| Antonio Nunes | May 17, 18:57 | |
| Laurent Cerveau | May 17, 21:10 |






Cocoa mail archive

