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:
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:
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:
- Importerer biblioteket
- Åpningsdokument
- 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.