Extrahieren Sie Text aus einer PDF-Datei mit Python
Sie alle müssen mit PDFs vertraut sein. Tatsächlich sind sie eines der wichtigsten und am weitesten verbreiteten digitalen Medien. PDF steht für Tragbares Dokumentformat . Es benutzt .pdf Verlängerung. Es dient der zuverlässigen Präsentation und dem Austausch von Dokumenten, unabhängig von Software, Hardware oder Betriebssystem.
Wir extrahieren Text aus PDF-Dateien mithilfe von zwei Python-Bibliotheken. pypdf Und PyMuPDF , In diesem Artikel.
Extrahieren von Text aus einer PDF-Datei mithilfe der pypdf-Bibliothek.
Python-Paket pypdf kann verwendet werden, um das zu erreichen, was wir wollen (Textextraktion), obwohl es mehr kann, als wir brauchen. Mit diesem Paket können auch PDF-Dateien generiert, entschlüsselt und zusammengeführt werden. Notiz: Weitere Informationen finden Sie unter Arbeiten mit PDF-Dateien in Python
Installation
Um dieses Paket zu installieren, geben Sie den folgenden Befehl in das Terminal ein.
pip install pypdf
Beispiel: Eingabe-PDF:
Python3
# importing required modules> from> pypdf> import> PdfReader> > # creating a pdf reader object> reader> => PdfReader(> 'example.pdf'> )> > # printing number of pages in pdf file> print> (> len> (reader.pages))> > # getting a specific page from the pdf file> page> => reader.pages[> 0> ]> > # extracting text from page> text> => page.extract_text()> print> (text)> |
Ausgabe:
Versuchen wir, den obigen Code in Teilen zu verstehen:
reader = PdfReader('example.pdf') - Wir haben ein Objekt erstellt von PDF Reader Klasse aus der pypdf Modul.
- Der PDF Reader Die Klasse übernimmt ein erforderliches Positionsargument des Pfads zur PDF-Datei.
print(len(reader.pages))
- Seiten Eigenschaft gibt eine Liste von Seitenobjekte . Hier können wir also das eingebaute verwenden nur() Funktion von Python, um die Anzahl der Seiten in der PDF-Datei zu ermitteln.
page = reader.pages[0]
- Nun, als Leserseiten ist eine Liste von Seitenobjekte , wir können eine konkrete bekommen Seite des PDFs, indem Sie auf den Index der Seite tippen. In Python beginnt die Listenindizierung also bei 0 reader.pages[0] gibt uns die erste Seite der PDF-Datei.
text = page.extract_text() print(text)
- Seitenobjekt hat Funktion extract_text() um Text aus der PDF-Seite zu extrahieren.
Extrahieren von Text aus einer PDF-Datei mithilfe der PyMuPDF-Bibliothek.
PyMuPDF ist eine Python-Bibliothek, die Dateiformate wie XPS, PDF, CBR und CBZ unterstützt. Doch zunächst konzentrieren wir uns in diesem Artikel auf PDF-Dateien (Portable Document Format).
Installation
pip install pymupdf pip install fitz
Um den Text aus dem PDF zu extrahieren, müssen wir die folgenden Schritte ausführen:
- Importieren der Bibliothek
- Eröffnungsdokument
- Text extrahieren
Notiz: Wir verwenden hier die Beispieldatei.pdf; Um das PDF zu erhalten, verwenden Sie den untenstehenden Link.
Muster.pdf – Verknüpfung
1. Importieren der Bibliothek
Python3
import> fitz> |
2. Dokument öffnen
Python3
doc> => fitz.> open> (> 'sample.pdf'> )> |
Hier haben wir ein Objekt namens erstellt Dok und Dateiname sollte eine Python-Zeichenfolge sein.
3. Text extrahieren
Python3
for> page> in> doc:> > text> => page.get_text()> > print> (text)> |
Hier haben wir Seiten im PDF-Format iteriert und die verwendet get_text() Methode zum Extrahieren jeder Seite aus der Datei.
Der gesamte Code zum Extrahieren des Textes
Python3
import> fitz> doc> => fitz.> open> (> 'sample.pdf'> )> text> => ''> for> page> in> doc:> > text> +> => page.get_text()> print> (text)> |
Ausgabe:
Abschluss
Wir haben zwei Python-Bibliotheken gesehen, pypdf Und PyMuPDF , das Text aus einer PDF-Datei extrahieren kann. Kommentieren Sie Ihre bevorzugte Bibliothek aus den beiden oben genannten Bibliotheken.