Extrahieren Sie Text aus einer PDF-Datei mit Python

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: extrahieren-pdf-text-python

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:

extrahieren-pdf-python

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:

  1. Importieren der Bibliothek
  2. Eröffnungsdokument
  3. 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.