Pliki Portable Document Format (PDF) są powszechnie używane do elektronicznego udostępniania dokumentów. Zarówno osoby prywatne, jak i firmy używają plików PDF do udostępniania informacji. Często musimy wyodrębnić pewne informacje z plików PDF do dalszego przetwarzania. Jednak wyodrębnianie tekstu z pliku PDF może być trudne, zwłaszcza jeśli dokument zawiera złożone formatowanie i układ. Na szczęście jest na to kilka sposobów.
Tutaj przedstawimy najczęściej stosowaną metodę wyodrębniania tekstu z plików PDF za pomocą Pythona. Python zawiera kilka bibliotek, które umożliwiają wydajną ekstrakcję tekstu PDF.
W artykule omówiono niektóre popularne biblioteki Pythona do wyodrębniania tekstu z plików PDF oraz krok po kroku proces wyodrębniania tekstu z plików PDF.
Biblioteki Pythona do przetwarzania plików PDF
Python ma kilka dobrze zintegrowanych bibliotek, które skutecznie obsługują nieustrukturyzowane źródła danych, takie jak pliki PDF. Oto lista kilku bibliotek Pythona do przetwarzania plików PDF.
- PyPDF2: Jest to biblioteka Pythona dla plików PDF, która może pomóc w dzieleniu, łączeniu, przycinaniu i przekształcaniu stron plików PDF. pyPDF2 umożliwia także wyodrębnianie tekstu z plików PDF.
- PyMuPDF: PyMuPDF to opakowanie Pythona dla biblioteki MuPDF C. Pozwala czytać, pisać i manipulować plikami PDF w Pythonie. Możesz także uzyskać dostęp do metadanych dokumentu PDF, wyodrębnić tekst i obrazy oraz odszyfrować dokument PDF za pomocą PyMuPDF.
- Laboratorium raportów: Jest to biblioteka Pythona typu open source, której można używać do tworzenia plików PDF i manipulowania nimi. Zapewnia interfejs API wysokiego poziomu do tworzenia dokumentów PDF od podstaw i obsługuje osadzanie obrazów i czcionek.
- pdf2doks: Jest to biblioteka Pythona do wyodrębniania danych za pomocą biblioteki PyMuPDF z plików PDF.
Błyskawicznie konwertuj złożone pliki PDF na format tekstowy za pomocą konwertera plików PDF na tekst. Spróbuj za darmo.
Konfigurowanie środowiska programistycznego
Zanim omówimy kroki wyodrębniania tekstu z pliku PDF, konieczne jest skonfigurowanie środowiska programistycznego i zainstalowanie wymaganych bibliotek Pythona w celu wyodrębnienia tekstu.
- Zainstaluj Pythona: Jeśli jeszcze tego nie zrobiłeś, musisz zainstalować Pythona w swoim systemie. Możesz pobrać najnowszą wersję Pythona z tutaj.
- Zainstaluj pip: Aby sprawdzić, czy masz zainstalowany pip w Pythonie, uruchom
py -m ensurepip --default-pip
Jeśli pip nie uruchomi się automatycznie, pobierz go tutaj i uruchom następujący kod, aby zainstalować lub zaktualizować
pip.python get-pip.py
- Zainstaluj wymaganą bibliotekę: Zainstaluj dowolną bibliotekę Pythona, aby pracować z plikami PDF. Tutaj zainstalujemy powszechnie używaną bibliotekę PyPDF2. Aby go zainstalować, uruchom następujące polecenie.
pip install PyPDF2
Po zainstalowaniu języka Python i wymaganych bibliotek środowisko programistyczne jest ustawione. Możesz użyć dowolnego edytora tekstu lub środowiska IDE do pisania kodu w języku Python, takiego jak Visual Studio Code, PyCharm lub Sublime Text.
Do wyodrębnienia plików użyjemy biblioteki PyPDF2 Python.
Wprowadź plik PDF:
# importowanie wymaganych modułów |
Wyjście:
Teraz zrozummy każdy kod osobno.
- czytnik = PdfReader('nanonets.pdf')
Z modułu PyPDF2 stworzyliśmy obiekt klasy PDFReader. Przyjmie wymagany argument pozycyjny ścieżki do pliku pdf.
- print(len(czytnik.stron))
Właściwość pages zapewnia listę PageObjects. Tutaj możemy użyć wbudowanej funkcji Pythona len(), aby uzyskać liczbę stron w pliku pdf.
- strona = czytelnik.strony[0]
Możemy również uzyskać określoną stronę pliku pdf, dotykając indeksu strony. Indeksowanie listy zaczyna się od 0 w Pythonie, więc to polecenie da nam pierwszą stronę pliku.
- tekst = strona.wyciąg_tekst()
drukuj (tekst)
Użyjemy tego polecenia, aby wyodrębnić tekst ze strony pdf.
Wstępne przetwarzanie wyodrębnionego tekstu w celu jego oczyszczenia i znormalizowania
Różne techniki przetwarzania wstępnego, takie jak usuwanie słów pomijanych, pisanie małymi literami, usuwanie interpunkcji, stemming lub lematyzacja, są używane do czyszczenia i normalizacji wyodrębnionego tekstu w Pythonie.
Wejście: Python to popularny język programowania używany do analizy danych i uczenia maszynowego. Jest łatwy do nauczenia i ma szeroką gamę bibliotek do różnych aplikacji.
Kod:
tekst = „Python to popularny język programowania używany do analizy danych i uczenia maszynowego. Jest łatwy do nauczenia i posiada szeroką gamę bibliotek do różnych zastosowań.” |
Wyjście: [„python”, „popularny”, „programowanie”, „język”, „używany”, „dane”, „analiza”, „maszyna”, „uczenie się”, „łatwy”, „uczenie się”, „szeroki”, „ zakres”, „biblioteki”, „różne”, „aplikacje”]
W tym kroku usunięto słowa kluczowe, takie jak „jest”, „a”, „dla”, „i”, „to” i „ma”, a także wszystkie słowa w tekście pisane małymi literami.
Zapisywanie wyodrębnionego tekstu do pliku lub bazy danych
Uruchom następujący kod:
w otwarty(„wyodrębniony_tekst.txt”, „w”) as f: |
Ten kod otworzy plik o nazwie wyodrębniony_tekst.txt w trybie zapisu. The f.napisz() Metoda zapisuje wstępnie przetworzony tekst do pliku. Konwertuje listę słów w czysty_tekst do łańcucha, łącząc słowa ze znakiem spacji (' '), a następnie zapisuje wynikowy ciąg do pliku.
W rezultacie wstępnie przetworzony tekst jest zapisywany w pliku o nazwie wyodrębniony_tekst.txt w bieżącym katalogu roboczym.
Błyskawicznie konwertuj złożone pliki PDF na format tekstowy za pomocą konwertera plików PDF na tekst. Spróbuj za darmo.
Aby poprawić dokładność wyodrębniania tekstu, można zastosować kilka zaawansowanych technik. Oto kilka technik:
- Optyczne rozpoznawanie znaków (OCR): OCR to proces, który konwertuje zeskanowane obrazy na tekst zakodowany maszynowo. OCR może służyć do wyodrębniania tekstu z plików PDF zawierających obrazy lub zeskanowane strony. Dostępnych jest kilka silników OCR, w tym Tesseract, Google Cloud Vision i Amazon Texttract.
- Techniki obróbki wstępnej: Techniki wstępnego przetwarzania obejmują manipulowanie plikiem PDF przed faktycznym procesem wyodrębniania. Obejmuje to techniki takie jak usuwanie skosu, usuwanie szumów i progowanie w celu usunięcia szumu, przekrzywienia i innych zniekształceń, które mogą mieć wpływ na dokładność procesu ekstrakcji.
- Analiza układu: Obejmuje identyfikację i klasyfikację różnych elementów pliku PDF, takich jak bloki tekstu, tabele i obrazy. Informacje te mogą poprawić dokładność wyodrębniania tekstu poprzez identyfikację struktury dokumentu.
- Narzędzia uczenia maszynowego: Kilka narzędzi do ekstrakcji tekstu, takich jak Nanonet, użyj technik uczenia maszynowego, aby dokładnie wyodrębnić tekst z plików PDF.
Wskazówki dotyczące optymalizacji wydajności i zmniejszania użycia pamięci w Pythonie
Efektywne zarządzanie pamięcią w Pythonie może być skomplikowane i wymaga zrozumienia struktur danych i obiektów Pythona. Oto kilka wskazówek dotyczących optymalizacji wydajności i zmniejszenia użycia pamięci podczas uruchamiania kodu w języku Python.
1. Używaj wbudowanych funkcji i bibliotek Pythona
Korzystanie z wbudowanych funkcji Pythona to skuteczny sposób na przyspieszenie kodu. Włączenie tych funkcji do kodu w razie potrzeby jest zalecane, ponieważ są one zoptymalizowane i dobrze przetestowane pod kątem wydajności.
Funkcje te są szybkie, ponieważ są wykonywane w C, języku o wysokiej wydajności. Przykłady takich funkcji to max, min, all, map i wiele innych.
2. Wykorzystaj Pytorch DataLoader
Uczenie dużego zestawu danych może wymagać dużej ilości pamięci. Korzystanie z DataLoader firmy PyTorch zapewnia rozwiązanie tego problemu, umożliwiając tworzenie wielu minipartii danych z całego zestawu danych. Każda mini-partia, która może zawierać kilka próbek określonych na podstawie dostępnej pamięci, jest bezproblemowo ładowana do modelu, co pozwala na efektywne uczenie dużych zbiorów danych.
3. Używaj rozumienia list w pętli
W Pythonie pętle są powszechne, ale wyrażenia listowe oferują bardziej zwięzły i szybszy sposób tworzenia nowych list. Jest lepsza niż metoda append do dodawania elementów do listy Pythona.
4. Koszty ogólne wyciągu importowego
W Pythonie umieszczenie instrukcji import może mieć wpływ na wydajność kodu i użycie pamięci. Importowanie pakietu poza funkcją może spowodować szybsze wykonanie kodu, ale może też wymagać więcej pamięci niż importowanie pakietu wewnątrz funkcji. Uwzględnienie kompromisów między wydajnością a wykorzystaniem pamięci jest ważne przy podejmowaniu decyzji, gdzie umieścić instrukcje importu w Pythonie.
5. Fragmenty danych
Dzielenie lub ładowanie danych w małych partiach to przydatna technika zapobiegania błędom pamięci podczas pracy z dużymi zbiorami danych w Pythonie. W wielu przypadkach wszystkie dane nie są potrzebne naraz, a próba załadowania wszystkiego w jednej partii może spowodować awarię programu z powodu ograniczeń pamięci. Przetwarzając dane w mniejszych porcjach, można uniknąć tych błędów pamięci i zapisać wyniki w razie potrzeby. Dlatego dzielenie danych jest powszechne w przetwarzaniu i analizie danych, aby zapobiec problemom związanym z pamięcią.
6. Konkatenacja ciągów znaków
Dwa popularne sposoby łączenia ciągów znaków w Pythonie to użycie operatora „+” lub metody join(). Podczas gdy operator „+” jest szeroko stosowany, metoda join() jest skuteczniejsza i szybsza w łączeniu łańcuchów. Głównym powodem jest to, że na każdym kroku operator „+” tworzy nowy łańcuch i kopiuje stary, podczas gdy metoda join() działa inaczej, co skutkuje szybszym łączeniem.
Błyskawicznie konwertuj złożone pliki PDF na format tekstowy za pomocą konwertera plików PDF na tekst. Spróbuj za darmo.
Na wynos
Obsługa błędów pamięci w Pythonie może być trudna, ale istnieją różne metody optymalizacji wykorzystania pamięci i zapobiegania przepełnieniom pamięci. Pierwszym krokiem jest zidentyfikowanie głównej przyczyny problemu i zastosowanie odpowiednich metod optymalizacji pamięci. Jeśli problem będzie się powtarzał, powiązane procesy można zoptymalizować lub operację można podzielić na mniejsze części za pomocą usługi zewnętrznej bazy danych.
Dzięki tym wskazówkom i technikom można zoptymalizować użycie pamięci i uniknąć problemów związanych z pamięcią podczas pracy z dużymi zestawami danych w języku Python. Chociaż biblioteki Pythona oferują wygodny sposób wyodrębniania tekstu z plików PDF, warto rozważyć inne zautomatyzowane narzędzia do wyodrębniania tekstu, takie jak Nanonety.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Źródło: https://nanonets.com/blog/extract-text-from-pdf-file-using-python/
- :Jest
- $W GÓRĘ
- 1
- 7
- 8
- a
- przyśpieszyć
- dostęp
- precyzja
- dokładnie
- zaawansowany
- oddziaływać
- Wszystkie kategorie
- Pozwalać
- pozwala
- już
- Amazonka
- Ekstrakt z amazonki
- analiza
- i
- api
- odpowiedni
- aplikacje
- Stosowanie
- właściwy
- SĄ
- argument
- artykuł
- AS
- At
- próbując
- zautomatyzowane
- automatycznie
- dostępny
- BE
- bo
- zanim
- Ulepsz Swój
- pomiędzy
- Bloki
- Złamany
- wbudowany
- biznes
- by
- CAN
- Etui
- Spowodować
- wyzwanie
- charakter
- rozpoznawanie znaków
- ZOBACZ
- klasa
- Chmura
- kod
- wspólny
- powszechnie
- kompleks
- wobec
- zawierać
- zawiera
- Wygodny
- rdzeń
- Crash
- Stwórz
- stworzony
- Tworzenie
- tworzenie
- wole
- Aktualny
- dane
- analiza danych
- analiza danych
- Baza danych
- zbiory danych
- Decydowanie
- Odszyfruj
- ustalona
- oprogramowania
- różne
- dyskutować
- dokument
- dokumenty
- na dół
- pobieranie
- każdy
- redaktor
- Efektywne
- faktycznie
- wydajny
- elektronicznie
- Elementy
- umożliwiać
- umożliwiając
- silniki
- Angielski
- Cały
- Środowisko
- Błędy
- szczególnie
- niezbędny
- wszystko
- przykłady
- egzekucja
- wyciąg
- FAST
- szybciej
- kilka
- filet
- Akta
- i terminów, a
- następujący
- czcionki
- W razie zamówieenia projektu
- format
- na szczęście
- Darmowy
- od
- funkcjonować
- Funkcje
- dalej
- otrzymać
- miejsce
- gif
- Dać
- Google Cloud
- uchwyt
- Have
- pomoc
- tutaj
- na wysokim szczeblu
- wysoka wydajność
- W jaki sposób
- How To
- Jednak
- HTTPS
- identyfikacja
- zdjęcia
- Rezultat
- importować
- ważny
- importowanie
- podnieść
- in
- zawierać
- obejmuje
- Włącznie z
- włączenie
- wskaźnik
- osób
- Informacja
- zainstalować
- zainstalowany
- angażować
- problem
- problemy
- IT
- łączący
- język
- duży
- firmy
- układ
- UCZYĆ SIĘ
- nauka
- biblioteki
- Biblioteka
- lubić
- Ograniczenia
- Lista
- wykazy
- załadować
- załadunek
- maszyna
- uczenie maszynowe
- Główny
- robić
- WYKONUJE
- zarządzający
- manipulowanie
- wiele
- mapa
- max
- Pamięć
- Łączyć
- Metadane
- metoda
- metody
- Moda
- model
- Moduł
- jeszcze
- większość
- wielokrotność
- O imieniu
- Potrzebować
- Nowości
- Hałas
- numer
- przedmiot
- obiekty
- OCR
- of
- oferta
- Stary
- on
- koncepcja
- open source
- działanie
- operator
- optymalizacja
- Optymalizacja
- zoptymalizowane
- optymalizacji
- Inne
- Pozostałe
- zewnętrzne
- pakiet
- strona
- ścieżka
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- utrzymuje się
- Miejsce
- plato
- Analiza danych Platona
- PlatoDane
- Popularny
- możliwy
- zapobiec
- wygląda tak
- procesów
- przetwarzanie
- Program
- Programowanie
- własność
- zapewniać
- zapewnia
- Python
- płomień
- zasięg
- Czytaj
- Czytelnik
- powód
- uznanie
- Zalecana
- redukcja
- związane z
- usunąć
- Usunięto
- usuwanie
- wymagać
- wymagany
- dalsze
- wynikły
- Efekt
- run
- bieganie
- s
- Zapisz
- płynnie
- usługa
- zestaw
- kilka
- Share
- dzielenie
- pojedynczy
- ukośnie
- mały
- mniejszy
- So
- rozwiązanie
- kilka
- Źródła
- Typ przestrzeni
- specyficzny
- dzielić
- rozpocznie
- Zestawienie sprzedaży
- oświadczenia
- Ewolucja krok po kroku
- Cel
- Stop
- Struktura
- studio
- taki
- podpory
- system
- Brać
- Techniki
- tesseract
- że
- Połączenia
- w związku z tym
- Te
- wskazówki
- do
- Żetony
- narzędzia
- Trening
- Przekształcać
- zrozumieć
- zrozumienie
- uaktualnienie
- us
- Stosowanie
- posługiwać się
- wykorzystać
- różnorodny
- Ve
- wersja
- wizja
- W
- Droga..
- sposoby
- czy
- który
- Podczas
- szeroki
- Szeroki zasięg
- szeroko
- będzie
- w
- słowo
- słowa
- Praca
- pracujący
- działa
- wartość
- napisać
- You
- Twój
- zefirnet