Hacer annotations en PDF con Quartz 2D

Estoy trabajando en files PDF con hojas . No puedo entender cómo hacer annotations. No he usado Quartz 2D mucho y quisiera alguna dirección

Agregar soporte de anotación de escritura es difícil.

Quartz 2D no te ayudará allí.

Debe analizar manualmente el PDF. (por ejemplo, con NSScanner) y build el tree XRef de todos los objects PDF. Luego estás escribiendo un nuevo trailer que reemplaza el object / Page y adjunta todos los nuevos datos de anotación. Es bastante difícil hacerlo bien, y la reference de 2000 páginas en PDF no es muy útil en eso. Trabajé la mayor parte del año para un soporte adecuado de anotación (Resaltar, subrayado, Strikeout, Tinta, Nota, …).

Y cuando desea resaltar annotations, también desea la selección de text (de lo contrario, el usuario tendría que dibujar de forma gratuita un resaltado, no una experiencia agradable). Obtener los cuadros correctos para los glifos de text para todos los types de fonts PDF es otro nivel de horror; en PDF no hay una noción de una palabra o una columna. Solo glifos únicos. El rest son algorithms y adivinanzas.

Incluso hablé con algunos ingenieros de Apple sobre cómo lo hicieron [selección de text, annotations], y me dijeron que un equipo de tres personas trabajó alnetworkingedor de tres años en su implementación.