Extrahujte text ze souboru PDF pomocí Pythonu
Všichni musíte být obeznámeni s tím, co jsou soubory PDF. Ve skutečnosti jsou jedním z nejdůležitějších a nejrozšířenějších digitálních médií. PDF znamená Přenosný formát dokumentu . Používá .pdf rozšíření. Používá se ke spolehlivé prezentaci a výměně dokumentů, nezávisle na softwaru, hardwaru nebo operačním systému.
Budeme extrahovat text ze souborů pdf pomocí dvou knihoven Python, pypdf a PyMuPDF , v tomto článku.
Extrahování textu ze souboru PDF pomocí knihovny pypdf.
Balíček Python pypdf lze použít k dosažení toho, co chceme (extrakce textu), i když dokáže více, než potřebujeme. Tento balíček lze také použít ke generování, dešifrování a slučování souborů PDF. Poznámka: Další informace viz Práce se soubory PDF v Pythonu
Instalace
Chcete-li nainstalovat tento balíček, zadejte do terminálu níže uvedený příkaz.
pip install pypdf
Příklad: Vstupní 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)> |
Výstup:
Pokusme se porozumět výše uvedenému kódu po částech:
reader = PdfReader('example.pdf') - Vytvořili jsme objekt PdfReader třídy z pypdf modul.
- The PdfReader class převezme požadovaný poziční argument cesty k souboru PDF.
print(len(reader.pages))
- stránky vlastnost dává Seznam PageObjects . Takže zde můžeme použít vestavěné jen() funkce pythonu pro získání počtu stránek v souboru pdf.
page = reader.pages[0]
- Nyní jako čtenářských.stránek je seznam PageObjects , můžeme získat konkrétní Strana pdf klepnutím na index stránky. V seznamu python indexování začíná od 0, takže čtenář.stránky[0] nám dává první stránku souboru pdf.
text = page.extract_text() print(text)
- Objekt stránky má funkci extrakt_text() extrahovat text ze stránky pdf.
Extrahování textu ze souboru PDF pomocí knihovny PyMuPDF.
PyMuPDF je knihovna Pythonu, která podporuje formáty souborů jako XPS, PDF, CBR a CBZ. Nyní se však v tomto článku zaměříme na soubory PDF (Portable Document Format).
Instalace
pip install pymupdf pip install fitz
Chcete-li extrahovat text z pdf, musíme provést následující kroky:
- Import knihovny
- Otevírání dokumentu
- Extrahování textu
Poznámka: Zde používáme sample.pdf; pro získání pdf použijte odkaz níže.
ukázka.pdf – Odkaz
1. Import knihovny
Python3
import> fitz> |
2. Otevření dokumentu
Python3
doc> => fitz.> open> (> 'sample.pdf'> )> |
Zde jsme vytvořili objekt tzv doc a název souboru by měl být řetězec Pythonu.
3. Extrahování textu
Python3
for> page> in> doc:> > text> => page.get_text()> > print> (text)> |
Zde jsme iterovali stránky v pdf a použili get_text() metoda pro extrahování každé stránky ze souboru.
Celý kód pro extrakci textu
Python3
import> fitz> doc> => fitz.> open> (> 'sample.pdf'> )> text> => ''> for> page> in> doc:> > text> +> => page.get_text()> print> (text)> |
Výstup:
Závěr
Viděli jsme dvě knihovny Pythonu, pypdf a PyMuPDF , který dokáže extrahovat text ze souboru PDF. Komentář k vaší preferované knihovně z výše uvedených dvou knihoven.