Nachdem ich zwei Tage lang versucht habe, Anmerkungen aus einem PDF-Dokument mit Quartz zu lesen, habe ich es geschafft und posted my code.PDF-Suche auf dem iPhone
Jetzt möchte ich das gleiche für eine andere häufig gestellte Frage tun: Suchen von PDF-Dokumenten mit Quarz. Gleiche Situation wie zuvor, diese Frage wurde oft mit fast keinen praktischen Antworten gestellt. Also brauche ich zuerst ein paar Hinweise, da ich das selbst noch nicht implementiert habe.
Was ich versucht:
ich versucht, mit CGPDFScannerScan
Umgang mit den TJ
und Tj
Operatoren - gibt den richtigen Text auf einigen PDF, während auf andere Dokumente, die es meist zufälligen Buchstaben zurückgibt. Vielleicht hängt es mit der Textcodierung zusammen? Jemand pointed out, dass Textblöcke (markiert durch BT/ET-Operatoren) sollte stattdessen behandelt werden, aber ich habe es noch nicht geschafft, dies zu tun. Hat jemand es geschafft, Text aus einem PDF zu extrahieren?
Danach sollte die Suche einfach sein, indem Sie den gesamten Text in einem NSMutableString
speichern und rangeOfString
verwenden (wenn es einen besseren Weg gibt, lass es mich wissen).
Aber dann wie das Ergebnis hervorheben? Ich weiß, dass es ein paar Operatoren gibt, um die Glyphengrößen zu finden, also könnte ich die resultierende Rect basierend auf diesen Werten berechnen, aber ich habe die Spezifikation für Stunden gelesen ... es ist eine aufgeblähte Unordnung und ich werde verrückt. Jeder mit einer praktischen Erklärung?
aktualisieren
Benutzer Naveen Thunga gefunden PDFKitten "einen Rahmen für die Daten aus PDF-Dateien in iOS Extrahieren". Ich habe gerade die Demo ausprobiert und es scheint wie angekündigt zu funktionieren. Ich werde es mit mehr PDFs testen und die Ergebnisse bald veröffentlichen. Als Randnotiz erscheint mir der Code sehr gut - wenn Sie sich dafür interessieren, wie das funktioniert, ist das ziemlich toll.
Gefunden diese Sammlung von Operatoren könnten nützlich sein: http://efreedom.com/Question/1-3627745/Getting-Text-Position-Parsing-Pdf-Quartz -2D –
Hey Brainfeeder, hast du eine Lösung gefunden, die das Suchergebnis hervorhebt? – Sarah
@Sarah: Nein, immer noch nichts, ich fing an, mich nach ein paar Tagen auf andere Sachen zu konzentrieren ... – pt2ph8