ChatGPT рекомендовал мне использовать Python для улучшения читаемости текста. Код прошел, но из исходных трех страниц появилась только одна, на которой было немного случайного текста, поэтому он, очевидно, вообще не мог с этим справиться.
Код: Выделить всё
import cv2
import numpy as np
import pytesseract
from pdf2image import convert_from_path
from reportlab.pdfgen import canvas
# 🔧 nastav cesty
pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
POPPLER_PATH = r"C:\poppler\Library\bin"
# vstup
PDF_FILE = "input.pdf"
# převod PDF na obrázky
images = convert_from_path(PDF_FILE, poppler_path=POPPLER_PATH)
all_text = []
for i, img in enumerate(images):
img = np.array(img)
# grayscale
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# zvýšení kontrastu (KLÍČOVÉ)
enhanced = cv2.convertScaleAbs(gray, alpha=2.0, beta=-100)
# threshold (zesílení textu)
_, thresh = cv2.threshold(enhanced, 150, 255, cv2.THRESH_BINARY)
# OCR (čeština)
text = pytesseract.image_to_string(thresh, lang="ces")
all_text.append(text)
# vytvoření PDF
c = canvas.Canvas("output.pdf")
y = 800
for page in all_text:
for line in page.split("\n"):
c.drawString(40, y, line)
y -= 15
if y < 40:
c.showPage()
y = 800
c.save()
print("Hotovo: output.pdf")
Большое спасибо
Подробнее: https://stackoverflow.com/questions/799 ... ing-python
Мобильная версия