PDFs sind eine gängige Methode, um Text auszutauschen. PDF steht für Portable Document Format und verwendet die Dateierweiterung .pdf. Es wurde in den frühen 1990er Jahren von Adobe Systems entwickelt.

Das Lesen von PDF-Dokumenten mit Python kann Ihnen helfen, eine Vielzahl von Aufgaben zu automatisieren.

In diesem Tutorial lernen wir, wie man in Python Text aus einer PDF-Datei extrahiert.

Lassen Sie uns beginnen.

Lesen und Extrahieren von Text aus einer PDF-Datei in Python

Für dieses Tutorial erstellen wir ein Beispiel-PDF mit 2 Seiten. Du kannst dazu ein beliebiges Textverarbeitungsprogramm wie Microsoft Word oder Google Docs verwenden und die Datei als PDF speichern.

Text auf Seite 1:

Hello World. This is a sample PDF with 2 pages. This is the first page. 

Text auf Seite 2:

This is the text on Page 2. 

PyPDF2 zum Extrahieren von PDF-Text verwenden

Du kannst PyPDF2 verwenden, um Text aus einem PDF zu extrahieren. Schauen wir uns an, wie es funktioniert.

1. Installieren Sie das Paket

Um PyPDF2 auf Ihrem System zu installieren, geben Sie den folgenden Befehl in Ihrem Terminal ein. Sie können mehr über den pip-Paketmanager lesen.

pip install pypdf2
Pypdf
Pypdf

2. Importieren Sie PyPDF2

Öffnen Sie ein neues Python-Notebook und beginnen Sie mit dem Import von PyPDF2.

import PyPDF2

3. Öffnen Sie das PDF im binären Lesemodus

Beginnen Sie mit dem Öffnen des PDF im binären Lesemodus, indem Sie die folgende Codezeile verwenden:

pdf = open('sample_pdf.pdf', 'rb')

Dies erzeugt ein PdfFileReader-Objekt für unser PDF und speichert es in der Variablen ‚pdf‘.

4. Verwenden Sie PyPDF2.PdfFileReader(), um Text zu lesen

Jetzt können Sie die Methode PdfFileReader() von PyPDF2 verwenden, um die Datei zu lesen.

pdfReader = PyPDF2.PdfFileReader(pdf)

Um den Text von der ersten Seite des PDF zu erhalten, verwenden Sie die folgenden Codezeilen:

page_one = pdfReader.getPage(0)print(page_one.extractText())

Wir erhalten die Ausgabe als:

Hello World. !This is a sample PDF with 2 pages. !This is the first page. !Process finished with exit code 0

Hier haben wir die Methode getPage verwendet, um die Seite als Objekt zu speichern. Dann haben wir die extractText()-Methode verwendet, um Text aus dem Seitenobjekt zu erhalten.

Der Text, den wir erhalten, ist vom Typ String.

Um die zweite Seite aus dem PDF zu erhalten, verwenden Sie:

page_one = pdfReader.getPage(1)print(page_one.extractText())

Wir erhalten die Ausgabe als :

This is the text on Page 2. 

Vollständiger Code zum Lesen von PDF-Text mit PyPDF2

Der vollständige Code aus diesem Abschnitt ist unten angegeben:

import PyPDF2pdf = open('sample_pdf.pdf', 'rb')pdfReader = PyPDF2.PdfFileReader(pdf)page_one = pdfReader.getPage(0)print(page_one.extractText())

Wenn Sie bemerken, ist die Formatierung der ersten Seite in der obigen Ausgabe ein wenig falsch. Das liegt daran, dass PyPDF2 nicht sehr effizient beim Lesen von PDFs ist.

Glücklicherweise hat Python eine bessere Alternative zu PyPDF2. Wir werden uns diese als nächstes ansehen.

PDFplumber zum Extrahieren von Text verwenden

PDFplumber ist ein weiteres Werkzeug, das Text aus einem PDF extrahieren kann. Es ist leistungsfähiger als PyPDF2.

1. Installieren Sie das Paket

Lassen Sie uns mit der Installation von PDFplumber beginnen.

pip install pdfplumber
Pdfplumber
Pdfplumber

2. PDFplumber importieren

Beginnen wir mit dem Importieren von PDFplumber mit der folgenden Codezeile:

import pdfplumber

3. PDFplumber zum Lesen von PDFs verwenden

Sie können mit dem Lesen von PDFs mit PDFplumber mit dem folgenden Codestück beginnen:

with pdfplumber.open("sample_pdf.pdf") as pdf: first_page = pdf.pages print(first_page.extract_text())

Dies wird den Text von der ersten Seite unseres PDFs erhalten. Die Ausgabe sieht so aus:

Hello World. This is a sample PDF with 2 pages. This is the first page. Process finished with exit code 0

Sie können dies mit der Ausgabe von PyPDF2 vergleichen und sehen, dass PDFplumber besser ist, wenn es um die Formatierung geht.

PDFplumber bietet auch Optionen, um andere Informationen aus dem PDF zu erhalten.

Zum Beispiel können Sie .page_number verwenden, um die Seitenzahl zu erhalten.

print(first_page.page_number)

Ausgabe :

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.