Ein Automator-Workflow zum Extrahieren von Text als Sprache aus PDF-Dateien

Ich erhalte PDFs zum Überarbeiten von Kursinhalten, die ich in MP3-Dateien konvertieren und als gesprochenes Audio mitnehmen möchte.

Automator bietet eine „Text-to-Speech“-Konvertierung und es ist großartig. Wenn ich versuche, einen Workflow darum herum aufzubauen, passiert scheinbar alles außer dem, was ich brauche.

Ich möchte als Ordneraktion:

  • Um den Text aus einer PDF-Datei zu extrahieren, legen Sie sie auf den entsprechenden Ordner
  • Um diesen Text in gesprochenes Audio umzuwandeln
  • Um Details für iTunes bereitzustellen
  • Importiere dies in eine Playlist meiner Wahl

Ich habe derzeit Variationen dieser Sequenz, die nicht funktionieren:

  1. PDF-Text extrahieren, speichern
  2. Konvertieren Sie Text in Audio, speichern Sie
  3. Audio importieren
  4. Geben Sie iTunes-Informationen
  5. Titel zur Playlist hinzufügen

Derzeit wird der PDF-Text extrahiert, landet nicht dort, wo ich es erwartet habe, und das Skript scheint dann beim Generieren des Audios zu hängen. Einfache TextEdit-Dokumente funktionieren gut.

Was ist falsch?

(Diese Frage ist eine Fortsetzung einer Frage, die ich gestern gestellt habe: hier )

Also habe ich gerade versucht, dieses Dowen in 3 Skripte aufzuteilen (Exakter Text; In Audio konvertieren; In iTunes importieren) und ich habe meine erste Hürde erreicht – selbst das einfache „Zum Ordner hinzufügen und PDF-Text extrahieren“ funktioniert nicht . Was muss ich tun, um ein Ordnerskript zu aktivieren, außer den Workflow zu speichern?

Antworten (1)

Während Automator ziemlich nützlich ist, finde ich persönlich das Terminal / die Befehlszeile einen guten Ort, um solche Probleme zu lösen.

Die Grundidee besteht immer noch darin, die von Ihnen beschriebenen Schritte zu verwenden, aber die gesamte Arbeit von der Befehlszeile aus zu erledigen. Ich habe nach einem nützlichen PDF-zu-Text-Konverter gesucht und fand PDFminer ziemlich nützlich. Wenn Sie es zum Laufen bringen können, ist die Hälfte Ihrer Arbeit getan!

pip install pdfminer

Schritt eins und zwei können dann mit diesem Einzeiler in Terminal gelöst werden:

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

Fehlt noch die Ergänzung von Metadaten – was braucht man hier: Titel / Album / „Künstler“?

In einem letzten Schritt würden Sie die Datei zu einer bestimmten iTunes-Wiedergabeliste hinzufügen. Abhängig von Ihrem idealen Workflow könnte man dann einen kleinen LaunchAgent bauen, der einen Ordner auf neue Dateien überwacht ...