logo

Extraheer tekst uit een PDF-bestand met Python

Jullie moeten allemaal bekend zijn met wat PDF's zijn. Sterker nog, ze zijn een van de belangrijkste en meest gebruikte digitale media. PDF staat voor Draagbaar documentformaat . Het gebruikt .pdf verlenging. Het wordt gebruikt om documenten betrouwbaar te presenteren en uit te wisselen, onafhankelijk van software, hardware of besturingssysteem.

We zullen tekst uit pdf-bestanden extraheren met behulp van twee Python-bibliotheken, pypdf En PyMuPDF , in dit artikel.



Tekst extraheren uit een PDF-bestand met behulp van de pypdf-bibliotheek.

Python-pakket pypdf kan worden gebruikt om te bereiken wat we willen (tekstextractie), hoewel het meer kan doen dan wat we nodig hebben. Dit pakket kan ook worden gebruikt voor het genereren, decoderen en samenvoegen van PDF-bestanden. Opmerking: Voor meer informatie, zie Werken met PDF-bestanden in Python

Installatie

Om dit pakket te installeren, typt u de onderstaande opdracht in de terminal.

pip install pypdf>

Voorbeeld: Invoer-pdf: extract-pdf-tekst-python



Python3






klasse versus object in Java

# 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)>

>

>

Uitgang:

extract-pdf-python

Laten we proberen de bovenstaande code in stukjes te begrijpen:

reader = PdfReader('example.pdf')>
  • We hebben er een object van gemaakt PDF lezer klasse uit de pypdf module.
  • De PDF lezer klasse neemt een vereist positioneel argument van het pad naar het pdf-bestand.
print(len(reader.pages))>
  • Pagina's eigenschap geeft een lijst van PaginaObjecten . Hier kunnen we dus de ingebouwde gebruiken alleen() functie van Python om het aantal pagina's in het pdf-bestand te krijgen.
page = reader.pages[0]>
  • Nu, als reader.pagina's is een lijst van PaginaObjecten , kunnen we een specifiek krijgen Bladzijde van de pdf door op de index van de pagina te tikken. In Python begint de lijstindexering vanaf 0, dus reader.pagina's[0] geeft ons de eerste pagina van het pdf-bestand.
text = page.extract_text() print(text)>
  • Pagina-object heeft functie extract_text() om tekst uit de pdf-pagina te extraheren.

Tekst extraheren uit een PDF-bestand met behulp van de PyMuPDF-bibliotheek.

PyMuPDF is een Python-bibliotheek die bestandsformaten ondersteunt zoals XPS, PDF, CBR en CBZ. Maar voorlopig concentreren we ons in dit artikel op PDF-bestanden (Portable Document Format).

Installatie

pip install pymupdf pip install fitz>

Om de tekst uit de pdf te halen, moeten we de volgende stappen volgen:

  1. De bibliotheek importeren
  2. Openingsdocument
  3. Tekst extraheren

Opmerking: We gebruiken hier het voorbeeld.pdf; Gebruik de onderstaande link om de pdf te verkrijgen.

voorbeeld.pdf – Koppeling

1. De bibliotheek importeren

Python3




cijfers voor het alfabet

import> fitz>

>

>

2. Document openen

Python3


rhel versus centos



doc>=> fitz.>open>(>'sample.pdf'>)>

>

>

Hier hebben we een object gemaakt met de naam doc en de bestandsnaam moet een Python-tekenreeks zijn.

3. Tekst extraheren

verschil tussen avondeten en avondeten

Python3




for> page>in> doc:> >text>=> page.get_text()> >print>(text)>

>

>

Hier hebben we pagina's in pdf herhaald en de get_text() methode om elke pagina uit het bestand te extraheren.

Alle code om de tekst te extraheren

Python3

array in Java-methoden




import> fitz> doc>=> fitz.>open>(>'sample.pdf'>)> text>=> ''> for> page>in> doc:> >text>+>=>page.get_text()> print>(text)>

>

>

Uitgang:

Conclusie

We hebben twee Python-bibliotheken gezien, pypdf En PyMuPDF , dat tekst uit een PDF-bestand kan extraheren. Geef commentaar op uw favoriete bibliotheek uit de twee bovenstaande bibliotheken.