Konvertieren einer PDF in eine Audio-Datei mit Python

Sehen wir uns an, wie man eine PDF-Datei liest, die eine Text-PDF-Datei in Audio umwandelt.

Es ist ein zweistufiger Prozess, um pdf in Audio zu konvertieren, im ersten Schritt müssen wir die Python-Datei lesen und die Textdaten daraus mit pypdf abrufen. Sobald wir den Text haben, können wir ihn mit dem Python-Paket pyttsx3 in Audio umwandeln und in eine Audiodatei speichern.

Verwendete Pakete:

pyttsx3: Es ist eine Python-Bibliothek für Text to Speech.

PyPDF2: Es hilft, den Text aus der PDF-Datei zu lesen. Eine reine Python-Bibliothek, die als PDF-Toolkit aufgebaut ist. Sie ist in der Lage, Dokumentinformationen zu extrahieren, Dokumente Seite für Seite aufzuteilen, Dokumente Seite für Seite zusammenzuführen usw.

Beispielcode:

import pyttsx3,PyPDF2

pdfreader = PyPDF2.PdfFileReader(open('beispiel.pdf','rb'))

speaker = pyttsx3.init()

for page_num in range(pdfreader.numPages):   
    text = pdfreader.getPage(page_num).extractText()  ## Extrahieren von Text aus der PDF-Datei
    cleaned_text = text.strip().replace('\n',' ')  ## Entfernt unnötige Leerzeichen und Zeilenumbrüche
    print(cleaned_text)                ## Gibt den Text der PDF aus
    
    ## Spricht den Text:
    speaker.save_to_file(cleaned_text,'beispiel.mp3')  ## Speichert den Text im mp3 Format
    speaker.runAndWait()
speaker.stop()

Erweiterte Textextraktion

Für eine erweiterte Textextraktion aus PDFs in Python kann die Bibliothek pdfplumber eine gute Wahl sein. pdfplumber bietet gegenüber anderen Bibliotheken wie PyPDF2 oder PyPDF4 den Vorteil, dass es nicht nur Text, sondern auch Tabellen und Metadaten aus PDF-Dateien extrahieren kann. Es ermöglicht eine präzisere Steuerung darüber, wie und welche Teile des Textes aus dem PDF extrahiert werden, was besonders bei komplexen Layouts oder formatierten Dokumenten nützlich ist.

Um pdfplumber in Ihren Prozess zu integrieren, könnten Sie den vorhandenen Code ergänzen, indem Sie den Text mit pdfplumber extrahieren und anschließend die Text-zu-Sprache-Konvertierung mit pyttsx3 durchführen. Dies könnte insbesondere die Lesbarkeit und Natürlichkeit der erzeugten Audio-Datei verbessern, da pdfplumber dazu neigt, Textflüsse genauer zu erfassen.