logo

Extrahera text från PDF-fil med Python

Ni måste alla vara bekanta med vad PDF-filer är. Faktum är att de är ett av de viktigaste och mest använda digitala medierna. PDF står för Portabelt dokumentformat . Det använder .pdf förlängning. Den används för att presentera och utbyta dokument på ett tillförlitligt sätt, oberoende av mjukvara, hårdvara eller operativsystem.

Vi kommer att extrahera text från pdf-filer med två Python-bibliotek, pypdf och PyMuPDF , i den här artikeln.



Extrahera text från en PDF-fil med pypdf-biblioteket.

Python-paket pypdf kan användas för att uppnå det vi vill (textextraktion), även om det kan göra mer än vad vi behöver. Detta paket kan också användas för att generera, dekryptera och slå samman PDF-filer. Notera: För mer information, se Arbeta med PDF-filer i Python

Installation

För att installera det här paketet skriv kommandot nedan i terminalen.

pip install pypdf>

Exempel: Mata in PDF: extrahera-pdf-text-python



Python3






typ variabler 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)>

>

>

Produktion:

extrahera-pdf-python

Låt oss försöka förstå ovanstående kod i bitar:

reader = PdfReader('example.pdf')>
  • Vi skapade ett objekt av PdfReader klass från pypdf modul.
  • De PdfReader klass tar ett obligatoriskt positionsargument för sökvägen till pdf-filen.
print(len(reader.pages))>
  • sidor egenskapen ger en lista över PageObjects . Så här kan vi använda den inbyggda endast() funktion av python för att få antalet sidor i pdf-filen.
page = reader.pages[0]>
  • Nu, som läsare.sidor är en lista över PageObjects , vi kan få en specifik Sida av pdf:en genom att klicka på sidans index. I pythonlistan börjar indexering från 0, så reader.pages[0] ger oss första sidan i pdf-filen.
text = page.extract_text() print(text)>
  • Sidobjekt har funktion extrakt_text() för att extrahera text från pdf-sidan.

Extrahera text från en PDF-fil med PyMuPDF-biblioteket.

PyMuPDF är ett Python-bibliotek som stöder filformat som XPS, PDF, CBR och CBZ. Men för nu, i den här artikeln, kommer vi att koncentrera oss på PDF-filer (Portable Document Format).

Installation

pip install pymupdf pip install fitz>

För att extrahera texten från pdf:en måste vi följa följande steg:

  1. Importera biblioteket
  2. Öppningsdokument
  3. Extraherar text

Notera: Vi använder sample.pdf här; för att få pdf, använd länken nedan.

sample.pdf – Länk

1. Importera biblioteket

hur gammal är pete davidson

Python3




import> fitz>

>

>

2. Öppningsdokument

Python3


anaconda vs pythonorm



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

>

>

Här skapade vi ett objekt som heter doc , och filnamnet ska vara en Python-sträng.

3. Extrahera text

Python3




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

>

git pull origin master
>

Här itererade vi sidor i pdf och använde get_text() metod för att extrahera varje sida från filen.

All kod för att extrahera texten

Python3

bash sova




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

>

>

Produktion:

Slutsats

Vi har sett två Python-bibliotek, pypdf och PyMuPDF , som kan extrahera text från en PDF-fil. Kommentera ditt föredragna bibliotek från ovanstående två bibliotek.