¿Cómo convertir un archivo pdf en un archivo de texto?

¿Hay una manera fácil de extraer texto sin formato de un archivo pdf?

En los sistemas *nix solía tener un comando ps2asciique hacía el trabajo, pero parece que este comando no está instalado de forma predeterminada en mi Mac.

¿Cuál sería la forma más fácil de extraer texto de un archivo pdf o, alternativamente, cómo acceder ps2asciia mi sistema?

Respuestas (6)

Adobe Reader tiene la opción "Guardar como texto..." en el menú Archivo. La manera más fácil.

¡Gracias! Esta es, con mucho, la solución más simple, pudo hacer frente a mi enorme archivo sin ningún problema y produjo una salida de texto razonablemente limpia y utilizable.
Sí, es la salida más fácil, pero no siempre la más limpia. v7 produce lo mejor, pero las cosas se vuelven locas antes y después de eso. Parte de mi trabajo es proporcionar versiones de texto sin formato de libros de texto universitarios para estudiantes universitarios discapacitados. Tengo mucha experiencia con esto, y es por eso que recomiendo Ghostscript si busca la opción gratuita.
@ghoppe gracias a esta opción fácil, pero no está disponible en la versión Mac de Adobe, ¿cómo hacerlo en Adobe a través de Adobe Reader?

ps2asciies parte de Ghostscript , que se puede instalar en Mac OS X (y es posible que ya lo esté de forma predeterminada de fábrica).

Ghostscript no está incluido con OSX. Aunque cualquiera de los métodos enumerados a continuación lo instalaría felizmente.
No sé si lo estoy presionando demasiado, pero ¿podría darme detalles sobre qué debo instalar exactamente y cómo? (Descargo de responsabilidad completo: soy un usuario bastante experimentado y ya logré instalarlo, pero en la etapa beta de este sitio me gustaría ver cuántos detalles e información debemos esperar de las personas que dan respuestas).
Creo que una pregunta como esa saldría del alcance de SE, ya que hay documentos muy detallados disponibles en su sitio. Una pregunta más adecuada en este caso, hasta donde yo lo veo, sería publicar una pregunta relacionada con la instalación después de haber intentado instalarla, la instalación falla después de repetidos intentos y la búsqueda en la web arroja pocas o ninguna respuesta.
brew install ghostscriptdebería permitirle instalar ps2ascii. Ejecutar ese programa imprimió todo el texto de un PDF que quería convertir. ¡Gracias!

La siguiente secuencia de comandos de python generará el texto de un documento PDF a un archivo .txt. (Nota: no hay garantía de que el texto esté necesariamente en un orden 'lógico' legible por humanos, debido a la forma en que se almacenan los datos en el formato PDF).

El script creará archivos de texto para cualquier archivo PDF proporcionado como argumentos en la línea de comando (p. ej pdf2txt.py myPDF.pdf.), o puede usarlo en la acción "Ejecutar script de shell" de Automator, configurando el tipo de shell en python y Pasar la entrada a "Como argumentos". .

#!/usr/bin/python
# coding: utf-8

import os, sys
from Quartz import PDFDocument
from CoreFoundation import (NSURL, NSString)
NSUTF8StringEncoding = 4

def pdf2txt():
    for filename in sys.argv[1:]:   
        inputfile =filename.decode('utf-8')
        shortName = os.path.splitext(filename)[0]
        outputfile = shortName+" text.txt"
        pdfURL = NSURL.fileURLWithPath_(inputfile)
        pdfDoc = PDFDocument.alloc().initWithURL_(pdfURL)
        if pdfDoc :
            pdfString = NSString.stringWithString_(pdfDoc.string())
            pdfString.writeToFile_atomically_encoding_error_(outputfile, True, NSUTF8StringEncoding, None)

if __name__ == "__main__":
   pdf2txt()
Como recordatorio: esto necesita pip install pyobjc.
@Itachi No, no lo hace: se agotará de fábrica en MacOS desde Snow Leopard hasta Catalina.
Estoy un poco confundido, entonces, ¿de dónde viene Quartzy CoreFoundation? ¿Es el paquete integrado python para macOS?
MacOS viene con python 2.7 e incluye pyObjC v.2.5.1. Puede actualizar a una versión más nueva de pyObjC, si desea más funciones y correcciones de errores, o incluso instalarlo en python3. Pero el sistema operativo de fábrica se envió con la misma versión durante aproximadamente 10 años o más.
NB: Monterey 12.3 ha eliminado python2.

Si no le importa usar una GUI, puede seleccionar texto de un PDF abierto con Preview.app

Gracias, esto parece funcionar para casos simples. Pero tengo un documento muy grande (más de 1000 páginas) y casi bloquea el sistema con solo intentar seleccionar todo.
Una solución poco convencional relacionada con la respuesta anterior es que Acrobat 7 en realidad realizó extracciones de texto sorprendentemente limpias (pero es mejor usar una utilidad adecuada como ghostscript para algo tan grande).

No conozco ninguna utilidad nativa de OS X que haga eso, sin embargo, puede instalar la mayoría de los comandos de Unix/Linux con cualquiera de estos tres métodos:

Homebew : Homebrew es la forma más fácil y flexible de instalar las herramientas UNIX que Apple no incluyó con OS X.

Fink : El proyecto Fink quiere llevar todo el mundo del software Unix Open Source a Darwin y Mac OS X.

Macports : El Proyecto MacPorts es una iniciativa comunitaria de código abierto para diseñar un sistema fácil de usar para compilar, instalar y actualizar software de código abierto basado en línea de comandos, X11 o Aqua en el sistema operativo Mac OS X.

Homebrew es el "chico nuevo en el bloque" y promete resolver los "problemas y limitaciones" que tienen los otros dos (cualesquiera que sean esos problemas). Le sugiero que eche un vistazo a todos ellos y utilice lo que considere más flexible/sencillo para sus necesidades.

Sin embargo, hay una aplicación (Payware) que solía hacer eso (no sé si todavía lo hace). Estoy hablando de DEVONthink , y puedes probar una demostración durante unos días.

actualización : de acuerdo con esta publicación , puede instalar DevonThink (versión de prueba) y extraer el binario 'pdftotext' " que es gratis, por supuesto " [sic] fuera del paquete.

Gracias por los consejos, pero ¿cuál de estos contendría realmente ps2ascii? ¿Y cuál debo preferir?
MacPorts maneja Ghostscript 9 (la última versión).
La utilidad nativa de OS X es la aplicación Adobe Reader, que tiene Guardar como texto.

Utilice convertidores de documentos en línea como Saaspose.PDF que pueden convertir su archivo PDF en un documento basado en TXT. Y debido a que es una API en la nube, no es necesario descargar ni instalar nada.

Pero, por supuesto, tienes que subirles tu documento. ¿Qué harán con él después?