Я пытаюсь найти способ разрешить пользователю аннотировать (т. Е. Рисовать в свободной форме) существующий файл PDF в iOS, но единственный найденный мной подход кажется чрезвычайно громоздким.
Решение состоит в том,в Monotouch, но я могу перевести с Objective-C, если это необходимо.Это также будет означать, что многие имена методов и свойств могут быть не совсем знакомы разработчикам, не относящимся к Monotouch, но я просто ищу подход.
В настоящее время у меня есть код, который позволяет пользователям аннотировать изображения (jpg, png) использование событий TouchesMoved и TouchesBegan в UIView.Это хорошо работает и выполняет то, что мне нужно.
Однако при работе с существующим файлом PDF кажется, что большая часть функциональности CGPDF сосредоточена вокруг создания новых файлов, а не редактирования существующих.
Единственный подход, который мне удалось найти, заключается в следующем:
Когда UIView открыт, создайте временный файл и установите для этого контекста PDF (UIGraphics.BeginPDFContext (filename)).
Создать новый CGPDFDocument из исходного файла и затем нарисовать каждую страницу из исходного PDF в текущем контексте, который будет новым временным файлом.
Уничтожить исходный документ PDF, созданный на шаге 2.
Показать пользователю первую страницу, а затем дать ему нарисовать на ней вместе с чертежомкоманды, отправляемые в контекст нового файла.Также будут методы, позволяющие пользователю изменять страницы.
Когда пользователь завершит работу, закройте контекст PDF, который сохранит все аннотации в новом файле PDF.
Кажется, что это может стать огромным скачком памяти и производительности, поэтому мне интересно, есть ли другой способ подойти к этому?