PDF’er er en almindelig måde at dele tekst på. PDF står for Portable Document Format og bruger filendelsen .pdf. Det blev oprettet i begyndelsen af 1990’erne af Adobe Systems.

Læsning af PDF-dokumenter ved hjælp af python kan hjælpe dig med at automatisere en lang række opgaver.

I denne vejledning lærer vi, hvordan man udtrækker tekst fra en PDF-fil i Python.

Lad os komme i gang.

Læsning og udtrækning af tekst fra en PDF-fil i Python

Til brug for denne vejledning opretter vi en prøve-PDF-fil med 2 sider. Det kan du gøre ved hjælp af et hvilket som helst tekstbehandlingsprogram som Microsoft Word eller Google Docs og gemme filen som en PDF.

Tekst på side 1:

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

Tekst på side 2:

This is the text on Page 2. 

Brug af PyPDF2 til at udtrække PDF-tekst

Du kan bruge PyPDF2 til at udtrække tekst fra en PDF. Lad os se, hvordan det fungerer.

1. Installer pakken

For at installere PyPDF2 på dit system skal du indtaste følgende kommando på din terminal. Du kan læse mere om pip-pakkehåndteringsprogrammet.

pip install pypdf2
Pypdf
Pypdf

2. Importer PyPDF2

Åbn en ny python-notebook og start med at importere PyPDF2.

import PyPDF2

3. Åbn PDF’en i read-binary-tilstand

Start med at åbne PDF’en i read-binary-tilstand ved hjælp af følgende kodelinje:

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

Dette vil oprette et PdfFileReader-objekt for vores PDF og gemme det i variablen ‘pdf’.

4. Brug PyPDF2.PdfFileReader() til at læse tekst

Nu kan du bruge PdfFileReader()-metoden fra PyPDF2 til at læse filen.

pdfReader = PyPDF2.PdfFileReader(pdf)

For at få teksten fra den første side i PDF-filen skal du bruge følgende kodelinjer:

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

Vi får output som:

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

Her har vi brugt getPage-metoden til at gemme siden som et objekt. Derefter brugte vi extractText()-metoden til at hente tekst fra sideobjektet.

Den tekst, vi får, er af typen String.

Sådan får vi den anden side fra PDF’en ved at bruge:

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

Vi får output som :

This is the text on Page 2. 

Komplet kode til at læse PDF-tekst ved hjælp af PyPDF2

Den komplette kode fra dette afsnit er angivet nedenfor:

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

Hvis du bemærker det, er formateringen af den første side lidt forkert i ovenstående output. Det skyldes, at PyPDF2 ikke er særlig effektiv til at læse PDF-filer.

Gluksuriøst nok har Python et bedre alternativ til PyPDF2. Det vil vi se på som det næste.

Brug af PDFplumber til at udtrække tekst

PDFplumber er et andet værktøj, der kan udtrække tekst fra en PDF-fil. Det er mere kraftfuldt sammenlignet med PyPDF2.

1. Installer pakken

Lad os komme i gang med at installere PDFplumber.

pip install pdfplumber
Pdfplumber
Pdfplumber

2. Importer pdfplumber

Start med at importere PDFplumber ved hjælp af følgende kodelinje :

import pdfplumber

3. Brug af PDFplumber til at læse pdf’er

Du kan begynde at læse pdf’er ved hjælp af PDFplumber med følgende kodestykke:

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

Dette vil hente teksten fra den første side i vores pdf. Output kommer som:

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

Du kan sammenligne dette med output fra PyPDF2 og se, hvordan PDFplumber er bedre, når det kommer til formatering.

PDFplumber giver også muligheder for at få andre oplysninger fra PDF’en.

For eksempel kan du bruge .page_number til at få sidetal.

print(first_page.page_number)

Output :

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.