A tool to parse text from PDFs, even if image-based.
View on GitHub
import pytesseract
from pdf2image import convert_from_path
import PyPDF2
import os
def extract_text_from_pdf(pdf_path):
text = ""
with open(pdf_path, "rb") as file:
reader = PyPDF2.PdfReader(file)
for page in reader.pages:
text += page.extract_text() or ""
if not text.strip():
# If text extraction failed, use OCR
images = convert_from_path(pdf_path)
text = "\n".join(pytesseract.image_to_string(img) for img in images)
return text
# Example usage
pdf_path = "example.pdf"
if os.path.exists(pdf_path):
extracted_text = extract_text_from_pdf(pdf_path)
print(extracted_text)
else:
print("PDF file not found.")