Выделите в CGPDFDocument

Я новичок в iphone, я открыл PDF-файл, используя CGPDFDocument. Я хочу сделать это, когда сделать длинное нажатие в определенной строке в документе, сделать подсветку. любой пример кода, чтобы сделать это?

Заранее спасибо.

1 ответ

Решение

Вы должны свернуть свое собственное решение. Apple добавила выделение текста как частный API в iOS, но они ничего не раскрыли. Вы можете просто использовать UIWebView, чтобы получить эту функцию, или, если вам нужно больше контроля или вы хотите использовать такие функции, как выделение, вам нужно написать собственное решение.

Для обычных читателей PDF существует довольно много открытого исходного кода. (см. vfr / Reader в качестве примера)

Чтобы также получить выделение текста / аннотации, это совершенно другой уровень боли. Большую часть года я работал полный рабочий день над этими функциями и только что выпустил версию 2 моей коммерческой платформы PSPDFKit.

Есть две проблемы, которые вам нужно будет решить при развертывании своей собственной; сначала получить рецензии на глиф и найти слова из отдельных глифов. Я использовал CoreGraphics в качестве синтаксического анализатора - сложная задача - вычисление правильного фрейма и управление текущим стеком рисования и различными стилями шрифта. Есть некоторый открытый исходный код (PDFKitten), но я наконец-то выполнил свой собственный, потому что он действительно невелик и имеет много проблем с различными форматами шрифтов PDF.

Во-вторых, написание реальных аннотаций объектов. Здесь вам нужно разобрать PDF самостоятельно, чтобы создать дерево из всех объектов, а затем написать новый трейлер, который заменяет объект /Pages (PDF в основном просто текст, поэтому он хорошо разбирается, но все еще довольно трудно понять, как правильно). Я не знаю ни одного открытого исходного кода, который мог бы вам в этом помочь. Я провел много долгих ночей с официальной ссылкой PDF.

Другие вопросы по тегам