Un flujo de trabajo de Automator para extraer texto como voz de archivos PDF

Recibo archivos PDF para revisar el contenido del curso que quiero convertir a archivos MP3 y llevarme como audio hablado.

Automator ofrece conversión de 'texto a voz' y es genial. Cuando trato de construir un flujo de trabajo a su alrededor, aparentemente todo sucede excepto lo que necesito.

Quiero, como acción de carpeta:

  • Para extraer el texto de un PDF colocado en la carpeta correspondiente
  • Para convertir este texto en audio hablado
  • Para proporcionar detalles de iTunes
  • Importar esto a una lista de reproducción de mi elección

Actualmente tengo variaciones en esta secuencia, que no funciona:

  1. Extraer texto PDF, guardar
  2. Convertir texto a audio, guardar
  3. Importar audio
  4. Dar información de iTunes
  5. Agregar título a la lista de reproducción

Actualmente, el texto del PDF se extrae, no termina donde esperaba y el script parece detenerse en la generación del audio. Los documentos simples de TextEdit funcionan bien.

¿Qué ocurre?

(Esta pregunta es una continuación de una que hice ayer: aquí )

Así que intenté dividir esta ventana en 3 secuencias de comandos (Texto extraído; Convertir a audio; Importar a iTunes) y llegué a mi primer obstáculo: incluso el simple "Agregar a la carpeta y extraer el texto del PDF" no funciona. . ¿Qué tengo que hacer para activar un scruipt de carpeta además de guardar el flujo de trabajo?

Respuestas (1)

Si bien Automator es bastante útil, personalmente encuentro que la línea de comando/Terminal es un buen lugar para resolver problemas como este.

La idea básica sigue siendo usar los pasos que describe, pero hacer todo el trabajo desde la línea de comandos. Investigué un útil convertidor de PDF a texto y encontré PDFminer bastante útil. Si puede hacer que funcione, ¡la mitad de su trabajo está hecho!

pip install pdfminer

Los pasos uno y dos, luego se pueden resolver con esta línea en la Terminal:

pdf2txt.py example.pdf | say -v Daniel -o example.aiff

Todavía falta la adición de metadatos: ¿qué necesita aquí: Título / Álbum / "Artista"?

En un paso final, agregaría el archivo a una determinada lista de reproducción de iTunes. Dependiendo de su flujo de trabajo ideal, uno podría construir un pequeño LaunchAgent que monitorea una carpeta en busca de nuevos archivos...