30 lines
912 B
Python
30 lines
912 B
Python
import fitz # PyMuPDF
|
|
import pytesseract
|
|
from PIL import Image
|
|
import io
|
|
|
|
# Ścieżka do pliku PDF
|
|
pdf_path = r"C:\Users\DELL\Downloads\Invoice_1.pdf"
|
|
|
|
# Inicjalizacja zmiennej na cały wyciągnięty tekst
|
|
extracted_text = ""
|
|
|
|
# Otwórz plik PDF
|
|
with fitz.open(pdf_path) as pdf_document:
|
|
for page_num in range(len(pdf_document)):
|
|
# Pobierz stronę
|
|
page = pdf_document[page_num]
|
|
|
|
# Konwersja strony do obrazu (w tym przypadku DPI 300 dla lepszej jakości)
|
|
pix = page.get_pixmap(dpi=300)
|
|
|
|
# Konwersja Pixmapy na obiekt Image z PIL
|
|
image = Image.open(io.BytesIO(pix.tobytes("png")))
|
|
|
|
# Wyciąganie tekstu z obrazu za pomocą pytesseract
|
|
text = pytesseract.image_to_string(image, lang="pol") # 'pol' dla języka polskiego
|
|
extracted_text += text + "\n"
|
|
|
|
# Wyświetlenie wyciągniętego tekstu
|
|
print(extracted_text)
|