Import PDF
fouf
Membre
Bonjour à tous.
Je cherche un moyen simple dans Quartz/Cocoa de faire en gros l'inverse de ce que fait dataWithPDFInsideRect : dataWithPDFInsideRect dessine le rectangle de la vue passé en argument et transforme ces instructions de dessins (basées sur des NSBezierPath puis des CGPath) en PDF. Je dis bien transforme car dans le cas de dessins "simples", c'est à dire où l'on n'a que des chemins et pas d'effets CI ou autres, on récupère bien un PDF vectoriel (on l'ouvre dans Apercu et on voit bien que cela ne pixellise pas du tout).
Je voudrais faire le contraire : récupérer les chemins du PDF vectoriel (ou d'un fichier PS aussi si vous avez sous la main ). J'ai regardé rapidement le PDFKit mais cela ne correspond absolument pas à ce que je cherche à faire. Je me demandais aussi si on ne pouvais pas tout simplement charger le PDF dans une image puis récupérer les chemins directement dans l'image, mais je n'ai pas trouver comment faire.
Je m'en remet donc à vous ...
Je cherche un moyen simple dans Quartz/Cocoa de faire en gros l'inverse de ce que fait dataWithPDFInsideRect : dataWithPDFInsideRect dessine le rectangle de la vue passé en argument et transforme ces instructions de dessins (basées sur des NSBezierPath puis des CGPath) en PDF. Je dis bien transforme car dans le cas de dessins "simples", c'est à dire où l'on n'a que des chemins et pas d'effets CI ou autres, on récupère bien un PDF vectoriel (on l'ouvre dans Apercu et on voit bien que cela ne pixellise pas du tout).
Je voudrais faire le contraire : récupérer les chemins du PDF vectoriel (ou d'un fichier PS aussi si vous avez sous la main ). J'ai regardé rapidement le PDFKit mais cela ne correspond absolument pas à ce que je cherche à faire. Je me demandais aussi si on ne pouvais pas tout simplement charger le PDF dans une image puis récupérer les chemins directement dans l'image, mais je n'ai pas trouver comment faire.
Je m'en remet donc à vous ...
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
J'utiliserai plutôt CoreGraphics (Quartz) afin de parser le document PDF, de récupérer les Graphics Objects de type path object.
Ensuite, en récupérant les paramètres de ces objets il suffit de créer le bezierPath correspondant.
C'est du boulot car tu devras naviguer entre la doc Apple sur les fonctions CGPDF (fais un tour dans le companion-guide pour avoir une base de départ) et les spécifications PDF que tu trouveras un peu partout sur le net (et surtout chez Adobe).
Mais la tâche reste intéressante, et dans le domaine du faisable à la vue de ton niveau.