I PDF sono un modo comune per condividere il testo. PDF sta per Portable Document Format e usa l’estensione .pdf. È stato creato nei primi anni ’90 da Adobe Systems.

Leggere documenti PDF usando python può aiutarvi ad automatizzare un’ampia varietà di compiti.

In questo tutorial impareremo come estrarre il testo da un file PDF in Python.

Iniziamo.

Leggere ed estrarre testo da un file PDF in Python

Per lo scopo di questo tutorial stiamo creando un PDF di esempio con 2 pagine. Puoi farlo usando qualsiasi elaboratore di testi come Microsoft Word o Google Docs e salvare il file come PDF.

Testo sulla pagina 1:

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

Testo sulla pagina 2:

This is the text on Page 2. 

Usando PyPDF2 per estrarre testo da PDF

Puoi usare PyPDF2 per estrarre testo da un PDF. Vediamo come funziona.

1. Installare il pacchetto

Per installare PyPDF2 sul tuo sistema inserisci il seguente comando nel tuo terminale. Puoi leggere di più sul gestore di pacchetti pip.

pip install pypdf2
Pypdf
Pypdf

2. Importare PyPDF2

Apri un nuovo quaderno python e inizia con l’importazione di PyPDF2.

import PyPDF2

3. Aprire il PDF in modalità read-binary

Iniziare ad aprire il PDF in modalità read binary usando la seguente linea di codice:

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

Questo creerà un oggetto PdfFileReader per il nostro PDF e lo memorizzerà nella variabile ‘pdf’.

4. Utilizzare PyPDF2.PdfFileReader() per leggere il testo

Ora è possibile utilizzare il metodo PdfFileReader() di PyPDF2 per leggere il file.

pdfReader = PyPDF2.PdfFileReader(pdf)

Per ottenere il testo dalla prima pagina del PDF, usate le seguenti linee di codice:

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

Abbiamo ottenuto l’output come:

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

Qui abbiamo usato il metodo getPage per salvare la pagina come oggetto. Poi abbiamo usato il metodo extractText() per ottenere il testo dall’oggetto pagina.

Il testo che otteniamo è di tipo String.

Similmente per ottenere la seconda pagina dal PDF usiamo:

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

otteniamo l’output come :

This is the text on Page 2. 

Codice completo per leggere il testo PDF usando PyPDF2

Il codice completo di questa sezione è riportato di seguito:

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

Se notate, la formattazione della prima pagina è un po’ sballata nell’output sopra. Questo perché PyPDF2 non è molto efficiente nel leggere i PDF.

Per fortuna, Python ha un’alternativa migliore a PyPDF2. La vedremo dopo.

Usare PDFplumber per estrarre il testo

PDFplumber è un altro strumento che può estrarre il testo da un PDF. È più potente rispetto a PyPDF2.

1. Installare il pacchetto

Iniziamo a installare PDFplumber.

pip install pdfplumber
Pdfplumber
Pdfplumber

2. Importare pdfplumber

Iniziamo con l’importazione di PDFplumber usando la seguente linea di codice :

import pdfplumber

3. Usare PDFplumber per leggere i PDF

Puoi iniziare a leggere i PDF usando PDFplumber con il seguente pezzo di codice:

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

Questo otterrà il testo dalla prima pagina del nostro PDF. L’output viene come:

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

Puoi confrontarlo con l’output di PyPDF2 e vedere come PDFplumber sia migliore quando si tratta di formattazione.

PDFplumber fornisce anche opzioni per ottenere altre informazioni dal PDF.

Per esempio, puoi usare .page_number per ottenere il numero di pagina.

print(first_page.page_number)

Output :

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.