# Internal state (filled later) self._pdf_path: pathlib.Path | None = None
# 4️⃣ Optional open -------------------------------------------------- def _open_file(self, path: pathlib.Path) -> None: """ Cross‑platform helper that launches the default PDF viewer. """ if not path.is_file(): raise FileNotFoundError(f"Cannot open non‑existent file: path") if only 2 by kedibone pdf download
save_folder: Destination directory for the PDF. Will be created automatically. # Internal state (filled later) self