Me gustaría extraer el texto de una parte (el uso de coordenadas) de PDF con Ghostscript.

¿Alguien puede ayudarme?

  • Usted tendrá un montón de problemas para hacer que con las coordenadas. Que requeriría encontrar cada celda de texto en el documento, el cálculo de la cadena de anchura y de ajuste, a continuación, el cálculo de recorte de windows y decidir sobre la inclusión/exclusión. Luego vendría la tarea de ordenar visualmente. Muy duro.
InformationsquelleAutor AMER | 2011-05-31

3 Comentarios

  1. 98

    Sí, con Ghostscript, que puede extraer el texto de los archivos Pdf. Pero no, no es la mejor herramienta para el trabajo. Y no, no puedes hacerlo en «porciones» (piezas de las páginas). Lo que usted puede hacer: extraer el texto de un cierto rango de páginas.

    Primero: Ghostscript es txtwrite dispositivo de salida (no tan bueno)

     gs \
       -dBATCH \
       -dNOPAUSE \
       -sDEVICE=txtwrite \
       -dFirstPage=3 \
       -dLastPage=5 \
       -sOutputFile=- \
       /path/to/your/pdf
    

    Esta es la salida de todo el texto contenido en las páginas 3-5 a stdout. Si desea que la salida a un archivo de texto, el uso de -sOutputFile=textfilename.txt.


    gs Actualización:

    Versiones recientes de Ghostscript han visto grandes mejoras en la txtwrite dispositivo y correcciones de errores. Ver los últimos Ghostscript changelogs (búsqueda de txtwrite en esa página) para más detalles.


    Segundo: Ghostscript del ps2ascii.ps PostScript utilidad (mejor)

    Ésta requiere de la descarga de la última versión del archivo ps2ascii.ps de la Ghostscript Git repositorio de código fuente. Tendrías que convertir tus PDF a PostScript, a continuación, ejecute este comando en el archivo PS:

    gs \
      -q \
      -dNODISPLAY \
      -P- \
      -dSAFER \
      -dDELAYBIND \
      -dWRITESYSTEMDICT \
      -dSIMPLE \
       /path/to/ps2ascii.ps \
       input.ps \
      -c quit
    

    Si el -dSIMPLE parámetro no está definido, cada línea de salida contiene algo de información adicional más allá de la pura contenido de texto acerca de las fuentes y fontsize utilizado.

    Si reemplazar ese parámetro por -dCOMPLEX, podrás obtener más información acerca de los colores y las imágenes utilizadas.

    Leer los comentarios dentro de la ps2ascii.ps para aprender más acerca de esta utilidad. No es cómodo de usar, pero a mí me ha funcionado en la mayoría de los casos la necesitaba….

    Tercero: XPDF del pdftotext utilidad de la CLI (más cómodo que Ghostscript)

    Una forma más cómoda de hacer la extracción del texto: uso pdftotext (disponible para Windows como en Linux/Unix o Mac OS X). Esta utilidad se basa ya sea en Esta o en XPDF. Este es un comando que usted puede probar:

     pdftotext \
       -f 13 \
       -l 17 \
       -layout \
       -opw supersecret \
       -upw secret \
       -eol unix \
       -nopgbrk \
       /path/to/your/pdf
       - |less
    

    Esto mostrará la página de rango 13 (fprimera página) a 17 (last página), conservar el diseño de un doble-protegido por contraseña nombre de archivo PDF (el uso de usuarios y contraseñas de propietario secreto y supersecret), con Unix EOL convención, pero sin insertar saltos de página entre las páginas en PDF, canalizada a través de menos…

    pdftotext -h muestra todos los disponibles de la línea de comandos opciones.

    De curso, tanto en las herramientas de trabajo para las partes de texto de los archivos Pdf (si tienen alguna). Oh, y la fórmula matemática no funciona demasiado bien… 😉


    pdftotext Actualización:

    Versiones recientes de Poppler del pdftotext ahora tienen opciones para extraer «una parte (el uso de coordenadas) de PDF» páginas, como la OP pidió. Los parámetros son:

    • -x <int> : la esquina superior izquierda de la coordenada x de la zona de cultivos
    • -y <int> : la esquina superior izquierda de la coordenada y de la zona de cultivos
    • -W <int> : el área de cultivo de la anchura en píxeles (por defecto 0)
    • -H <int> : el área de cultivo de la altura en píxeles (por defecto 0)

    Mejor, si se utiliza con la -layout parámetro.


    Cuarto: MuPDF del mutool draw comando también se puede extraer texto

    La cruz-plataforma de código abierto MuPDF aplicación (hecho por la misma compañía que desarrolla también Ghostscript) ha incluido una herramienta de línea de comandos, mutool. Para extraer el texto de un PDF con esta herramienta, uso:

    mutool draw -F txt the.pdf
    

    emitirá el texto extraído a <stdout>. Uso -o filename.txt para escribir en un archivo.

    Quinto: PDFLib la Extracción de Texto Toolkit (TET) (el mejor de todos… pero es simuladores de pago)

    TET, la Extracción de textos kit de herramientas de la pdflib de la familia de productos puede encontrar el x-coordenada y de contenido de texto en un archivo PDF (y mucho más). TET tiene una línea de comandos de la interfaz, y es el más poderoso de todo el texto herramientas de extracción soy consciente de. (Puede incluso manejar las ligaduras…) de la Cita de su página web:

    Geometría

    TET proporciona mediciones precisas para el texto, tales como la posición en la página, glifo anchos, y la dirección del texto. Áreas específicas de la página pueden ser excluidos o incluidos en la extracción de textos, por ejemplo, para ignorar los encabezados y pies de página o en los márgenes.

    En mi experiencia, aunque no es el deporte más sencillo interfaz CLI se puede imaginar: después de que te acostumbras a ella, que va a hacer lo que promete hacer, para la mayoría de los archivos Pdf que tirar hacia ella…


    Y hay aún más opciones:

    1. podofotxtextract De la CLI (herramienta) de la PoDoFo proyecto (Open Source)
    2. calibre (normalmente un programa GUI para manejar los libros electrónicos, de código Abierto) tiene una opción de comandos que puede extraer el texto de los archivos Pdf
    3. AbiWord (una interfaz gráfica de usuario de procesador de textos de código Abierto) puede importar archivos Pdf y guardar sus archivos como .txt: abiword --to=txt --to-name=output.txt input.pdf
    • Gracias por tu consejo.
    • La versión de ghostscript es necesario para el uso de txtwrite dispositivo ?
    • Creo que debe ser de la versión 9.04 o más tarde…
    • En qué sentido es la primera opción de «no tan bueno» y el segundo «mejor»?
    • en el momento de escribir lo anterior, la opción 2 dio más para el control preciso de la salida. Mientras tanto, el txtwrite dispositivo ha adquirido una nueva característica (actual GS versión es 9.06): puede agregar el parámetro -dTextFormat=0 | 1 | 2 | 3 (por defecto es 3). Consulte el respectivos Ghostscript documentación para obtener más detalles. I sólo saber de estos, pero yo no lo he probado todavía intensamente, así que (aún) no han actualizado la opinión personal de la comparación de las dos opciones con la actual versión GS…
    • Hola, me gustaría quitar / borrar todas las imágenes de un pdf, de modo que pdf contendrá sólo el texto. es posible? amablemente comentario. Gracias
    • Los comentarios no son para hablar de todo un nuevo tema. Por favor, hacer una nueva pregunta, etiqueta como [ghostscript] + [pdf] y voy a tratar de responder lo mejor que pueda. Lea también ¿cuál es el propósito de su solicitud. Ahorro en el tamaño de archivo? Eliminar información contenida en las imágenes? O?
    • Hola sueño para la gente como yo, a la salida de un pdf a un archivo de texto mediante pdftotext lugar solo tienes que abrir una consola de windows y vaya a donde su pdftotext.exe es, a continuación, escriba: pdftotext yourpdffilepath.pdf y crear el archivo de texto.
    • Tratado de las opciones libres (1-4) y todos ellos sufren el mismo problema que cualquier asignación de carácter distinto de una asignación predeterminada es de izquierda, como algunos de llenado de la carta, sea un espacio en blanco, punto o caja abierta. Gracias pero no lo necesito.

  2. 1

    No estoy seguro de GhostScript puede aceptar las coordenadas, pero puede convertir el PDF a una imagen y enviarla a un motor de OCR, ya sea como una subimagen recortada a partir de las coordenadas proporcionadas o como el conjunto de la imagen junto con las coordenadas. Algunos de OCR API acepta un rectángulo parámetro para delimitar la región de OCR.

    Mirar VietOCR para un ejemplo de trabajo, que utiliza Tesseract como su motor de OCR y GhostScript como PDF al convertidor de imagen.

    • Si el texto se almacena en el archivo PDF como texto, en lugar de como una imagen, esta sería una muy mala idea.
  3. 1

    Debenu Quick PDF Library puede extraer el texto de un área definida sobre una página. El SetTextExtractionArea función le permite especificar las coordenadas x e y y, a continuación, también puede especificar la anchura y la altura de la zona.

    • Izquierda = La coordenada horizontal del borde izquierdo de la zona
    • Superior = La coordenada vertical del borde superior de la zona
    • Ancho = El ancho de la zona
    • Altura = la altura de La zona de

    A continuación, el GetPageText función puede ser llamada inmediatamente después de extraer el texto de esa área definida.

    He aquí un ejemplo de uso de C# (a pesar de que la biblioteca es multi-plataforma y puede ser utilizado con diferentes lenguajes de programación):

    DPL.LoadFromFile(@"Sample.pdf", "");
    DPL.SetOrigin(1); //Sets 0,0 coordinate position to top left of page, default is bottom left
    DPL.SetTextExtractionArea(35, 35, 229, 30); //Left, Top, Width, Height
    string ExtractedContent = DPL.GetPageText(8);
    Console.WriteLine(ExtractedContent);
    

    Utilizando GetPageText también es posible devolver el texto ubicado en la zona o el texto ubicado en la zona así como la información sobre el texto de la fuente, tales como el nombre, color y tamaño.

Dejar respuesta

Please enter your comment!
Please enter your name here