7
votes

Comment puis-je générer un PDF avec un contenu de texte "réel" sur iOS?

Je veux générer un PDF bien recherché dans mon application iOS 6.

J'ai essayé: p>

  • UIView Render dans contexte LI>
  • Utiliser CORETEXT LI>
  • Utilisation de Nstring Drawinrect Li>
  • Utiliser Uilabel Drawrect Li> ul>

    Voici un exemple de code: P>

    - (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx {
        BOOL isPDF = !CGRectIsEmpty(UIGraphicsGetPDFContextBounds());
        if (!layer.shouldRasterize && isPDF)
            [self drawRect:self.bounds]; // draw unrasterized
        else
            [super drawLayer:layer inContext:ctx];
    }
    


3 commentaires

Pouvez-vous poster un exemple de fragment de code et le fichier PDF de sortie afin que je puisse les regarder?


Avez-vous déjà compris cela? Expérimenter la question de «sélection de bloc».


Ne semble pas arriver maintenant avec: uigraphiquebeginpdfcontextOfile (sortiePath, vue.bounds, nil); Uigraphiquebeginpdfpage (); Cgcontextref pdfcontext = uigraphicsgetcurrentContext (); [View.Layer Renderincontext: PDFContext]; Uigraphicsendpdfcontext ();


3 Réponses :


2
votes

3 commentaires

Je fais quelque chose de similaire, et le PDF a l'air OK, mais le texte n'est pas un texte réel, mais une image rendue. Je voudrais générer un PDF avec du texte sélectionnable


Mais j'ai utilisé le même tutoriel et son travail parfait pour moi dans le zoom.


Il signifie sélectionnable - comme avec le curseur sur un Mac (copie, pâte, etc.)



1
votes

Mon expérience quand je l'ai fait cette dernière année, c'était que Apple n'a fourni aucune bibliothèque de le faire. J'ai fini par importer une bibliothèque Open Source C (libhaaru). Ensuite, j'ai ajouté une fonction de sortie à chaque classe dans ma hiérarchie de vue. Toute vue avec Sous-Views appellerait rendu sur ses sous-visions. Mon Uilabels, Uitextfields, UiImageviews, Uiswitches, etc. émettraient leur contenu en tant que texte ou graphique en conséquence, j'ai également rendu des couleurs d'arrière-plan pour certaines vues.

Ce n'était pas très décourageant, mais libharu m'a donné des problèmes avec des polices afin que IIRC, j'ai fini par utiliser la police et la taille de la police par défaut.


1 commentaires

Je vais regarder ça. Merci



0
votes

Cela fonctionne bien avec des uilabels, sauf que vous devez travailler autour d'un bug:

Rendu à un UIView dans un PDF en tant que vecteurs sur un iPad - rend parfois en tant que bitmap, parfois comme vecteurs


0 commentaires