2012-05-03 5 views
7

He buscado anotaciones en PDF en Google, stackoverflow y la biblioteca de desarrolladores de Apple, pero ninguna de ellas realmente satisface mis necesidades. Aquí está mi problema y mi conocimiento actual de él, por favor corrígeme si me equivoco.¿Cómo seleccionar líneas de texto en un PDF y luego resaltarlas? (iOS)

Me gustaría permitir a los usuarios seleccionar primero algunas líneas de texto para resaltar, y luego dibujar resaltando rectángulos encima de ellas.

[Pregunta]: ¿Cómo seleccionamos el texto en una página PDF procesada por CGContextDrawPDFPage()? Específicamente, si tuviera que anular los métodos delegados touchesBegan/Moved/Ended, ¿qué debería hacer allí para seguir el marco de texto que un usuario desea seleccionar?

No quiero usar FastPDFKit porque muestra un logotipo y cuesta dinero, o UIWebView porque es muy limitado en términos de cosas que podemos hacer con él, además me gustaría aprender cómo hacerlo yo mismo :-)

Gracias! Derek

- ACTUALIZACIÓN -

solución potencial: Probablemente podría poner una visión transparente en la parte superior de mi PDF, y al analizar el contenido del PDF, construir un rectángulo para cada Tj o cada elemento de cadena en TJ. Esos rectángulos serían el "texto" seleccionable que los usuarios pueden resaltar. Una advertencia es que algunos PDF atascan varias palabras en un Tj, lo que impide que los usuarios seleccionen palabras individuales en ese caso. Probaré este enfoque y actualizaré el resultado más adelante.

+0

ha encontrado alguna solución, hágamelo saber ya que también tengo que hacer lo mismo. –

Respuesta

5

Su solución potencial es el camino a seguir. El tamaño del rectángulo delimitador de una cadena Tj es la suma de rectángulos de delimitación de cada glifo en la cadena, por lo que puede seleccionar cualquier cosa en la cadena. La biblioteca PDFKitten puede ayudarlo con el procesamiento de texto: https://github.com/KurtCode/PDFKitten

+1

Gracias iPDFdev. Me alegra saber que estoy en el camino correcto. Aceptaré tu respuesta tan pronto como haya terminado ;-) –

+2

@DerekSun ¿Resolviste esto? si es así, ¿cómo usaste el código PDFKitten? – laucel

Cuestiones relacionadas