Audioboeken winnen steeds meer aan populariteit ten opzichte van traditionele eBooks. Ze zijn handiger omdat je ze altijd en overal kunt beluisteren.

U kunt een eBook-PDF converteren naar een audioboek met een eenvoudig Python-script. Met behulp van enkele eenvoudige bibliotheken kunt u een project ontwikkelen dat een PDF voorleest en het audioboek opslaat als een nieuw bestand.

Vereiste pakketten installeren

U moet de installeren PyPDF3, pyttsx3, en pdfloodgieter pakketten om aan de slag te gaan. U kunt deze pakketten installeren met behulp van de pip-pakketbeheerder. Zorg dat je het al hebt geïnstalleerde pip op uw systeem. Voer de volgende opdracht uit in de opdrachtprompt om de pakketten te installeren:

Pip installeren PyPDF3 pyttsx3 pdfloodgieter
  • U kunt de PyPDF3 bibliotheek om PDF-bestanden in Python te lezen en te bewerken.
  • De pyttsx3 bibliotheek biedt tekst-naar-spraak-conversie.
  • pdfloodgieter is een bibliotheek waarmee u tekst en tabellen uit PDF-bestanden kunt extraheren.

De code die in dit project wordt gebruikt, is beschikbaar in een

instagram viewer
GitHub-opslagplaats en is gratis voor u om te gebruiken onder de MIT-licentie.

Een PDF converteren naar een audioboek met Python

Nadat je de bovenstaande pakketten hebt geïnstalleerd, ben je klaar om ze in je python-bestand te importeren:

importeren PyPDF3
importeren pyttsx3
importeren pdfloodgieter

U moet de naam en locatie opgeven van het PDF-bestand dat u wilt converteren. Voor de eenvoud kunt u elk voorbeeld-PDF-bestand gebruiken. Kopieer het naar dezelfde map als je script en sla de naam op in een variabele; als het heet Lorem.pdf, bijvoorbeeld:

bestand = 'Lorem.pdf'

Maak vervolgens een bestandsobject voor het PDF-bestand en een PDF-lezerobject:

boek = openen (bestand, 'rb')
pdfReader = PyPDF3.PdfFileReader (boek)

Later doorloop je alle pagina's van het PDF-bestand. Gebruik de om het totale aantal pagina's te vinden aantalPagina's eigendom:

pagina's = pdfReader.numPages

Nu bent u klaar om de tekst uit het PDF-bestand te extraheren:

finalText = ""

met pdfloodgieter.open(het dossier) net zo pdf:
voor i binnen bereik (0, pagina's):
pagina = pdf.pagina's[i]
tekst = pagina.extract_text()
finalText += tekst

Gebruik een for-lus om door alle pagina's te bladeren en de tekst uit de PDF te extraheren. U kunt het pdfplumber-pakket gebruiken om het pdf-bestand te openen en de extract_text methode om tekst van een pagina op te halen.

Met de volledige tekst opgeslagen in een variabele, kunt u deze verder verwerken, afhankelijk van uw vereisten. Als u de tekst naar audio wilt converteren en in een nieuw bestand wilt opslaan, gebruikt u de volgende code:

motor = pyttsx3.init()
engine.save_to_file (finalText, 'lorem.mp3')
motor.runAndWait()

Wanneer je voer deze Python-code uit, zal het een audioboekbestand in zijn map maken.

Als u het audioboek niet wilt opslaan en bijvoorbeeld het PDF-bestand wilt reciteren, kunt u in plaats daarvan de volgende code gebruiken:

motor = pyttsx3.init()
motor.zeggen(finalText)
motor.runAndWait()

Wanneer u dit script uitvoert, zal het het PDF-bestand reciteren.

Projecten ontwikkelen met Python

Python staat bekend om zijn veelzijdigheid. Met Python maak je eenvoudig projecten met praktische toepassingen.

Als je je handen uit de mouwen wilt steken met Python-code, kun je beginnen met het ontwikkelen van miniprojecten. Enkele goede startideeën zijn een quiz-app, chatbot, snake game, URL-verkorter, webschraper of unit-converter.