Ajouter le contenu d'une UIView à  un fichier pdf

Bonjour,


 


je cherche un moyen pour ajouter un à  un document pdf une image bitmap en surimposition à  un emplacement précis.


 


Je ne sais encore comment m'y prendre, j'ai vu des gens qui font cela en faisant un rendu préalable du pdf dans un context, mais cela transforme la nature du document et ce qui peut le rendre vraiment très lourd.


Au départ j'ai un fichier pdf que je peux afficher dans une UIWebview et une UIView qui représente l'image que je veux ajouter au document, que je peux déplacer dans la UIWebview.


Ca me permet de positionner mes deux documents l'un par rapport à  l'autre.


Sachant que mon document pdf comporte plusieurs pages, qu'elle serait la meilleur méthode pour générer un nouveau document pdf résultant de la composition de l'image sur le premier tout en gardant la structure du pdf initiale (c'est à  dire que les textes ne soit pas convertis en bitmap) ?


 


Merci d'avance


 


Denis


Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur

    Ce que tu demandes est très compliqué à  faire. En gros, il faut avoir la structure du PDF en mémoire et le recomposer. À ma connaissance, aucune classe d'Apple ne le permet. Il y a bien CGPDFContext, mais ça reste très limité.


     


    C'est peut-être possible en utilisant un outil en ligne. Il existe aussi des outils en ligne de commande open-source pour travailler sur les PDF... c'est un gros chantier.


  • merci pour ta réponse, je vais explorer quelques pistes en essayant de créer un context pdf à  partir du fichier et lui rajouter des éléments en les construisants (pour reconstituer ce qui va normalement dans la vue) pas trop évident à  cause du positionnement.


  • Eric P.Eric P. Membre
    octobre 2013 modifié #4

    Je pense que cela peut être plus simple, au moins avec un pdf d'une page : il suffit de créer un nouveau pdf dans lequel on dessine le 1er pdf et l'image à  ajouter. On obtient un vrai pdf dont les textes sont des vrais textes.


     


    Commencer à  écrire le nouveau pdf avec : UIGraphicsBeginPDFContextToFile et UIGraphicsBeginPDFPage


    Dessiner le pdf avec : CGContextDrawPDFPage


    Dessiner l'image avec : UIImage drawAtPoint


    Fermer le pdf avec : UIGraphicsEndPDFContext


     


    Tu peux essayer avec iPocket Draw Lite en important un pdf et une image, en les ajoutant dans un dessin et en créant un pdf pour voir si le résultat te convient.


  • bonjour Eric,


    merci pour les pistes, je regardes :-) . 


     


    Question: comment faire pour importer un pdf dans iPocket Draw Lite ? les objets de la bibliothèques sont ils en pdf ?



  • Question: comment faire pour importer un pdf dans iPocket Draw Lite ? les objets de la bibliothèques sont ils en pdf ?




    Soit avec iTunes, soit depuis Mail ou Dropbox ou autre en transférant le fichier avec la commande "Ouvrir dans"

  • effectivement en dehors du fait qu'il ne conserve que la première page, cela fonctionne parfaitement, c'est tout à  fait ce qui me faut ! (même si en ce moment je ne suis pas trop réactif, ca fait une semaine que je me tape une gastro je manque de sommeil...).


    Merci encore


     


    Denis


     


    PS: En plus ca me donne l'occasion de découvrir "iPocket Draw Lite"  :-)  


  • La gestion des pages est bien sûr possible mais comme iPocket Draw est plutôt destiné à  dessiner des plans donc des documents d'une seule page, je ne me suis pas penché sur le problème.


     


    Bonne découverte !


Connectez-vous ou Inscrivez-vous pour répondre.