csi_rekrutacja/ocr.py

30 lines
912 B
Python
Raw Normal View History

2024-11-06 12:13:27 +01:00
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)