1. Produkty
  2.   PDF
  3.   Python
  4.   PDFMiner
 
  

Wyodrębnij informacje z plików PDF za pośrednictwem bezpłatnej biblioteki Pythona

Bezpłatny interfejs API języka Python, który umożliwia programistom wyodrębnianie informacji z dokumentów PDF i konwertowanie plików PDF na inne formaty oraz przeprowadza automatyczną analizę układu.

PDFMiner to bardzo łatwa w użyciu biblioteka Pythona typu open source do przetwarzania plików PDF bez żadnych innych zależności. Obsługiwany przez społeczność PDFMine.six rozwidlenie oryginalnej biblioteki PDFMiner. Biblioteka udostępnia bardzo zaawansowane funkcje do wydobywania informacji z dokumentów PDF. Zapewnia narzędzie poleceń dla osób niebędących programistami oraz interfejs API dla programistów. Potężny konwerter PDF jest również częścią biblioteki, która pomaga użytkownikom przekształcać pliki PDF do innych formatów tekstowych, takich jak HTML.

PDFMiner to czysta biblioteka Pythona, która może łatwo wyodrębnić wszystkie teksty z pliku PDF, które są renderowane programowo. Wielką zaletą jest to, że wyodrębnia również odpowiednie lokalizacje, nazwy i rozmiary czcionek oraz kierunek pisania (poziomy lub pionowy) dla każdego segmentu tekstu. Obsługuje specyfikację PDF-1.7 i zapewnia obsługę wyodrębniania dokumentów PDF chronionych hasłem. Biblioteka zawiera kilka innych ważnych funkcji, takich jak parsowanie, analizowanie i konwertowanie dokumentów PDF, wyodrębnianie treści jako HTML lub hOCR, obsługa skryptów do pisania pionowego, obsługa szyfrowania RC4 i AES, wyodrębnianie spisu treści, wyodrębnianie oznakowanej zawartości, automatyczny układ analiza i tak dalej.

Previous Next

Pierwsze kroki z PDFMinerem

PDFMiner wymaga Pythona 3.6 lub nowszego. Możesz zainstalować PDFMiner za pomocą pip. Użyj następującego polecenia, aby go zainstalować.

Zainstaluj PDFMiner przez pip

 pip install pdfminer 

Możesz także pobrać skompilowaną bibliotekę współdzieloną z repozytorium GitHub i zainstalować ją.

Wyodrębnij tekst z pliku PDF za pomocą Pythona

Biblioteka open source Pdfminer.six daje programistom możliwość wyodrębnienia tekstu z pliku PDF za pomocą zaledwie kilku wierszy kodu Pythona. Biblioteka koncentruje się na pobieraniu i analizie danych tekstowych, a następnie wyodrębnia tekst ze strony bezpośrednio z kodu źródłowego pliku PDF. Biblioteka umożliwia również programistom wyodrębnianie obrazów (JPG, JBIG2, mapy bitowe) z pliku PDF. Możliwe jest również wyodrębnienie nazwy czcionki lub rozmiaru każdego pojedynczego znaku. Poniższe przykłady pokazują, jak wyodrębnić tekst z pliku PDF i wydrukować go na ekranie.

Otwieraj i manipuluj dokumentami PDF za pomocą Pythona

 from pdfminer.high_level import extract_text
# Extract text from a pdf.
text = extract_text('example.pdf')
# Extract iterable of LTPage objects.
pages = extract_pages('example.pdf')
print(text)

Konwertuj plik PDF na hOCR za pomocą API Pythona

hOCR to otwarty standard reprezentacji danych dla sformatowanego tekstu uzyskanego z optycznego rozpoznawania znaków (OCR). Darmowe biblioteki Pdfminer.six umożliwiają programistom konwertowanie plików PDF do formatu hOCR za pomocą zaledwie kilku wierszy kodu Pythona. Biblioteka jest bardzo łatwa w obsłudze i może wyodrębnić jawne informacje tekstowe z tych plików PDF, które je mają, i wykorzystuje je do generowania podstawowej reprezentacji hOCR.

Konwertuj plik PDF na tekst za pomocą Pythona

Biblioteka zawiera bogaty zestaw funkcji i możliwości, które pozwalają wyjść poza podstawowe przetwarzanie plików PDF. Biblioteka open source Pdfminer.six pozwala programistom Pythona konwertować dokumenty PDF na tekst za pomocą zaledwie kilku prostych poleceń. Najpierw musisz podać ścieżkę do plików PDF oraz pliku tekstowego. Jeśli dokument jest chroniony hasłem, musisz również podać jego hasło. Poniższy przykład kodu może posłużyć do osiągnięcia celu, po prostu zwróci ciąg w pliku PDF, biorąc pod uwagę jego nazwę pliku, możesz łatwo zapisać go w pliku.

Konwertuj plik PDF na format tekstowy za pomocą API Pythona

 from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO
def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()
    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)
    text = retstr.getvalue()
    fp.close()
    device.close()
    retstr.close()
    return text
 Polski