это, кажется, нелегкая работа, вот моя мысль.
Вместо того, чтобы использовать CGContextDrawPDFPage в Quartz2D, вам, возможно, придется самостоятельно разметить страницу для получения CGRect текста для выделения.
- Разбор содержимого страницы PDF в объекты PDF.
- Объединение объектов PDF в двоичной или других формах с объектами, которые можно использовать в Core Text / CoreGraphics, например CTFontDescriptorRef, операторы PDF, двоичные потоки
- Используйте функцию Core Text / CoreGraphics для компоновки текста / графики из графических операторов fonts / text / images / pdf, а затем вы можете получить положение и прямоугольник
- возвращает CGRect и выделяет этот CGRect с использованием функций CoreGraphics