from __future__ import annotations

import sys
from pathlib import Path

import pypdfium2 as pdfium


def main() -> int:
    if len(sys.argv) != 3:
        print("Usage: render-pdf.py INPUT_PDF OUTPUT_DIR")
        return 2
    input_pdf = Path(sys.argv[1])
    output_dir = Path(sys.argv[2])
    output_dir.mkdir(parents=True, exist_ok=True)
    document = pdfium.PdfDocument(str(input_pdf))
    for index in range(len(document)):
        image = document[index].render(scale=1.55).to_pil()
        output = output_dir / f"page-{index + 1:02d}.png"
        image.save(output)
        print(output)
    print(f"Rendered {len(document)} pages")
    return 0


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