Trekk ut tekst fra PDF-fil ved hjelp av Python

Trekk ut tekst fra PDF-fil ved hjelp av Python

Alle må være kjent med hva PDF-filer er. Faktisk er de et av de viktigste og mest brukte digitale mediene. PDF står for Bærbart dokumentformat . Det bruker .pdf Utvidelse. Den brukes til å presentere og utveksle dokumenter pålitelig, uavhengig av programvare, maskinvare eller operativsystem.

Vi vil trekke ut tekst fra pdf-filer ved hjelp av to Python-biblioteker, pypdf og PyMuPDF , i denne artikkelen.

Trekker ut tekst fra en PDF-fil ved hjelp av pypdf-biblioteket.

Python-pakke pypdf kan brukes til å oppnå det vi ønsker (tekstutvinning), selv om det kan gjøre mer enn det vi trenger. Denne pakken kan også brukes til å generere, dekryptere og slå sammen PDF-filer. Merk: For mer informasjon, se Arbeide med PDF-filer i Python

Installasjon

For å installere denne pakken, skriv inn kommandoen nedenfor i terminalen.

pip install pypdf 

Eksempel: Skriv inn PDF: extract-pdf-tekst-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)>

Produksjon:

extract-pdf-python

La oss prøve å forstå koden ovenfor i biter:

reader = PdfReader('example.pdf') 
  • Vi skapte et objekt av PdfReader klasse fra pypdf modul.
  • De PdfReader klasse tar et nødvendig posisjonsargument for banen til pdf-filen.
print(len(reader.pages)) 
  • sider eiendom gir en liste over Sideobjekter . Så her kan vi bruke den innebygde bare() funksjonen til python for å få antall sider i pdf-filen.
page = reader.pages[0] 
  • Nå, som leser.sider er en liste over Sideobjekter , kan vi få en spesifikk Side av pdf-en ved å trykke på indeksen på siden. I python-listen starter indeksering fra 0, så reader.pages[0] gir oss den første siden av pdf-filen.
text = page.extract_text() print(text) 
  • Sideobjekt har funksjon extract_text() for å trekke ut tekst fra pdf-siden.

Trekke ut tekst fra en PDF-fil ved hjelp av PyMuPDF-biblioteket.

PyMuPDF er et Python-bibliotek som støtter filformater som XPS, PDF, CBR og CBZ. Men foreløpig, i denne artikkelen, skal vi konsentrere oss om PDF-filer (Portable Document Format).

Installasjon

pip install pymupdf pip install fitz 

For å trekke ut teksten fra pdf-en, må vi følge følgende trinn:

  1. Importerer biblioteket
  2. Åpningsdokument
  3. Trekker ut tekst

Merk: Vi bruker sample.pdf her; for å få pdf-en, bruk lenken nedenfor.

sample.pdf – Link

1. Importere biblioteket

Python3




import> fitz>

2. Åpningsdokument

Python3




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

Her laget vi et objekt kalt dok , og filnavnet skal være en Python-streng.

3. Trekke ut tekst

Python3




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

Her itererte vi sider i pdf og brukte get_text() metode for å trekke ut hver side fra filen.

All koden for å trekke ut teksten

Python3




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

Produksjon:

Konklusjon

Vi har sett to Python-biblioteker, pypdf og PyMuPDF , som kan trekke ut tekst fra en PDF-fil. Kommenter ditt foretrukne bibliotek fra de to ovennevnte bibliotekene.