#!/usr/bin/env python3
import sys

try:
    from pypdf import PdfReader
except Exception:
    try:
        from PyPDF2 import PdfReader
    except Exception:
        PdfReader = None

def main():
    if len(sys.argv) < 2:
        print('Usage: extract_pdf.py <path>', file=sys.stderr)
        return 2
    if PdfReader is None:
        return 0
    path = sys.argv[1]
    try:
        reader = PdfReader(path)
    except Exception:
        return 0
    if reader.is_encrypted:
        try:
            reader.decrypt("")
        except Exception:
            pass
    parts = []
    for page in reader.pages:
        try:
            txt = page.extract_text() or ""
        except Exception:
            txt = ""
        if txt:
            parts.append(txt)
    sys.stdout.write("\n".join(parts))
    return 0

if __name__ == '__main__':
    raise SystemExit(main())
