Après deux jours en essayant de lire des annotations à partir d'un PDF en utilisant Quartz, j'ai réussi à le faire et posted my code.Recherche PDF sur l'iPhone
Maintenant, je voudrais faire la même chose pour une autre question fréquemment posée: la recherche de documents PDF avec Quartz. Même situation qu'auparavant, cette question a été posée plusieurs fois avec presque aucune réponse pratique. J'ai donc besoin de quelques pointeurs en premier, car je ne l'ai toujours pas implémenté moi-même.
Ce que j'ai essayé:
J'ai essayé avec CGPDFScannerScan
la manipulation des TJ
et Tj
opérateurs - renvoie le texte à droite sur certains PDF, alors que sur d'autres documents, il retourne lettres la plupart du temps au hasard. Peut-être que c'est lié à l'encodage de texte? Quelqu'un pointed out que les blocs de texte (marqués par des opérateurs BT/ET) doivent être traités à la place, mais je n'ai toujours pas réussi à le faire. Quelqu'un a réussi à extraire le texte de n'importe quel PDF? Après cela, la recherche devrait être facile en stockant tout le texte dans un NSMutableString
et en utilisant rangeOfString
(s'il y a un meilleur moyen s'il vous plaît faites le moi savoir).
Mais alors comment mettre en évidence le résultat? Je sais qu'il y a quelques opérateurs pour trouver les tailles de glyphes, ainsi j'ai pu calculer le rect résultant basé sur ces valeurs, mais j'ai lu la spécification pendant des heures ... c'est un désordre boursouflé et je deviens fou. Quelqu'un avec une explication pratique?
Mise à jour
utilisateur Naveen Thunga trouvé PDFKitten, "un cadre pour extraire des données de fichiers PDF dans iOS". J'ai juste essayé la démo et ça a l'air de marcher comme annoncé. Je vais le tester avec plus de PDF et afficherai bientôt les résultats. En passant, le code me semble très bien - si vous êtes intéressé par le fonctionnement de ce logiciel, c'est plutôt génial.
à cet ensemble des opérateurs pourrait être utile: http://efreedom.com/Question/1-3627745/Getting-Text-Position-Parsing-Pdf-Quartz -2D –
Hey Brainfeeder, Vous avez trouvé une solution pour mettre en évidence le résultat de la recherche? – Sarah
@Sarah: Non, toujours rien, j'ai commencé à me concentrer sur d'autres choses après quelques jours ... – pt2ph8