PDF-Texterkennung mit PaddleOCR und fitz (PyMuPDF)
Hier noch ein funktionierendes Beispiel, wie man PDF Dateien OCR-technisch auswerten kann. Im Gegensatz zu pdf2image besteht hier keine Abhängigkeit zu poppler.
import fitz import numpy as np from paddleocr import PaddleOCR ocr = PaddleOCR(lang="de", enable_mkldnn=False) doc = fitz.open("Widerspruch.pdf") for page_number, page in enumerate(doc, start=1): # Render PDF page pix = page.get_pixmap(dpi=300) # Convert directly to NumPy image = np.frombuffer( pix.samples, dtype=np.uint8 ).reshape(pix.height, pix.width, pix.n) # PaddleOCR expects RGB, not RGBA if pix.n == 4: image = image[:, :, :3] result = ocr.predict(image) print(f"\n--- Page {page_number} ---") for page_result in result: for text, score in zip( page_result["rec_texts"], page_result["rec_scores"], ): print(f"{score:.3f}: {text}") |