Soubory PDF jsou běžným způsobem sdílení textu. PDF je zkratka pro Portable Document Format a používá příponu .pdf. Byl vytvořen počátkem 90. let 20. století společností Adobe Systems.

Čtení dokumentů PDF pomocí jazyka Python vám může pomoci automatizovat celou řadu úloh.

V tomto návodu se naučíme, jak získat text ze souboru PDF v jazyce Python.

Začneme.

Čtení a extrakce textu ze souboru PDF v jazyce Python

Pro účely tohoto tutoriálu vytvoříme ukázkový soubor PDF o dvou stránkách. Můžete tak učinit pomocí libovolného textového procesoru, jako je Microsoft Word nebo Google Docs, a soubor uložit jako PDF.

Text na straně 1:

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

Text na straně 2:

This is the text on Page 2. 

Použití PyPDF2 k extrakci textu z PDF

K extrakci textu z PDF můžete použít PyPDF2. Podívejme se, jak to funguje.

1. Nainstalujte balíček

Pro instalaci PyPDF2 do systému zadejte do terminálu následující příkaz. O správci balíčků pip si můžete přečíst více.

pip install pypdf2
Pypdf
Pypdf

2. Importujte PyPDF2

Otevřete nový sešit Pythonu a začněte s importem PyPDF2.

import PyPDF2

3. Otevřete PDF v režimu čtení binárních souborů

Začněte s otevíráním PDF v režimu čtení binárních souborů pomocí následujícího řádku kódu:

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

Tím vytvoříte objekt PdfFileReader pro náš PDF a uložíte jej do proměnné ‚pdf‘.

4. Otevřete PDF v režimu čtení binárních souborů. Pro čtení textu použijte metodu PyPDF2.PdfFileReader()

Nyní můžete pro čtení souboru použít metodu PdfFileReader() z PyPDF2.

pdfReader = PyPDF2.PdfFileReader(pdf)

Pro získání textu z první stránky PDF použijte následující řádky kódu:

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

Výstup získáme jako:

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

Zde jsme použili metodu getPage pro uložení stránky jako objektu. Poté jsme použili metodu extractText() pro získání textu z objektu stránky.

Text, který jsme získali, je typu String.

Podobně pro získání druhé stránky z PDF použijeme:

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

Výstup získáme jako :

This is the text on Page 2. 

Kompletní kód pro čtení textu PDF pomocí PyPDF2

Kompletní kód z této části je uveden níže:

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

Pokud si všimnete, ve výše uvedeném výstupu je formátování první stránky trochu mimo. Je to proto, že PyPDF2 není příliš efektivní při čtení souborů PDF.

Naštěstí má Python lepší alternativu k PyPDF2. Na tu se podíváme příště.

Použití nástroje PDFplumber k extrakci textu

PDFplumber je další nástroj, který dokáže extrahovat text z PDF. Ve srovnání s PyPDF2 je výkonnější.

1. Nainstalujte balíček

Pustíme se do instalace PDFplumberu.

pip install pdfplumber
Pdfplumber
Pdfplumber

2. Importujte pdfplumber

Začněte s importem PDFplumber pomocí následujícího řádku kódu :

import pdfplumber

3. Naimportujte PDFplumber

. Použití PDFplumberu ke čtení PDF

Čtení PDF můžete začít pomocí PDFplumberu pomocí následujícího řádku kódu:

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

Tím získáte text z první stránky našeho PDF. Výstup přijde jako:

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

Můžete to porovnat s výstupem PyPDF2 a uvidíte, v čem je PDFplumber lepší, pokud jde o formátování.

PDFplumber také nabízí možnosti, jak z PDF získat další informace.

Například můžete použít .page_number pro získání čísla stránky.

print(first_page.page_number)

Výstupní data :

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.