Создание аннотаций в PDF с помощью Quartz 2D - PullRequest
3 голосов
/ 29 ноября 2011

Я работаю над PDF-файлами, используя Листья .Я не могу понять, как делать аннотации.Я не очень много использовал Quartz 2D и хотел бы получить направление

1 Ответ

1 голос
/ 27 декабря 2011

Добавление запись Поддержка аннотаций затруднена.

Кварц 2D вам там не поможет.

Вам нужно вручную проанализировать PDF. (например, с помощью NSScanner) и создайте дерево XRef для всех объектов PDF. Затем вы пишете новый трейлер, который заменяет объект / Page и присоединяет все новые данные аннотации. Это довольно трудно понять, и ссылка на PDF на 2000 страниц не очень помогает в этом. Лучшую часть года я проработал для правильной поддержки аннотаций (Highlight, Underscore, Strikeout, Ink, Note, ...).

И когда вы хотите выделить аннотации, вы также хотите выделить текст (иначе пользователю придется свободно рисовать выделение - не очень приятный опыт). Получение правильных рамок для глифов текста для всех типов шрифтов PDF - это другой уровень ужаса; в PDF нет понятия слова или столбца. Просто одиночные глифы. Остальное - алгоритмы и догадки.

Я даже говорил с некоторыми инженерами Apple, как они это делали [выбор текста, аннотации], и они сказали мне, что команда из трех человек работала над их реализацией около трех лет.

...