Wordcloud mit Python

Ich habe mich mal wieder an Python ausprobiert und versucht aus dem Coronabericht des Sachverständigenausschusses eine Wordcloud zu basteln. Klar kann man die Datei auch in einen Online-Generator schmeißen, aber ich wollte es ja selber probieren. Folgende Probleme waren zu lösen. Ich musste das PDF Dokument (160 Seiten) irgendwie in eine .txt Datei umwandeln, um es dann durch die Wordcloud laufen zu lassen. Letztendlich sind es eigentlich zwei kleine Programme geworden. Das erste wandelt das PDF in eine .txt Datei um und speichert diese ab. Das Zweite erstellt dann daraus die Wordcloud. Wahlweise auch in einem maskierten .png Bild. Sucht man im Netz, ist es eigentlich ein Dreizeiler. Aber ich wollte ja etwas lernen und habe somit selber in die Tasten gehauen, natürlich mit der Hilfe des weltweiten Netzes.

from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
import PyPDF2

# Funktion PDF auslesen und als txt Datei abspeichern

# pdf datei öffnen
object = PyPDF2.PdfFileReader("dateiname.pdf")

# Seitenzahlen ermitteln
NumPages = object.getNumPages()

# Alle Seiten als Text extrahieren
for i in range(0, NumPages):
    PageObj = object.getPage(i)
    print(str(i)) 
    Text = PageObj.extractText()
    # Hier lasse ich mir den extrahierten Text anzeigen 
    print(Text) 
    # Extrahierten Text in einer txt Datei abspeichern
    filename = "dateiname.txt"
    myfile = open(filename, 'a') 
    myfile.write(Text)
myfile.close()         

#WORDCLOUD Komponenten.

# Erzeugte txt Datei einlesen
with open("dateiname.txt") as f:
    text = f.read()

# Wörter, die nicht berücksichtigt werden sollen. (Werden als Liste erzeugt, damit ist man etwas flexibler)
stopwords = set(STOPWORDS)

StopW = "und die da danach eine für werden zu nicht ist de auch auf mit werden zu der bei das den des von in im ein durch oder aber wie et al wurden wurde dass einer e sind um sich über hat köönen als nach sie es haben diese zur können daher dies vor einen einem dieser zum sowie wird während bzw sollte sollten damit dem kann https sein bi jedoch waren nur au wenn muss hier Zudem war genn weitere Zugriff aus gen ge dabei noch dazu M C insbesondere eines eine allem allen bereit etwa zwischen S bis etwa unter ihre on welche zwar zwischen müssen ab Ab L T alle währe besonders man soll beim diesem allerdings J H html http https ohne keine vom ff ohne Prozent Deutschland darauf"

ListeStop = StopW.split()
stopwords.update(ListeStop)
wordcloud = WordCloud(width=800, height=600,
            stopwords=stopwords,
            contour_width=5,
            contour_color="grey",
            background_color="white")
wordcloud.generate(text)
plt.axis("off")
plt.imshow(wordcloud, interpolation='bilinear')
plt.show()