"""PDF 合并：把多份 PDF 按顺序合并成一个。"""
from __future__ import annotations

from pathlib import Path

import pymupdf


def merge_pdfs(pdf_paths: list[Path], output_path: str | Path) -> Path:
    """把多份 PDF 按顺序合并成一个 PDF，返回输出路径。"""
    output_path = Path(output_path)
    output_path.parent.mkdir(parents=True, exist_ok=True)

    merged = pymupdf.open()
    try:
        for p in pdf_paths:
            with pymupdf.open(str(p)) as src:
                merged.insert_pdf(src)
        merged.save(str(output_path))
    finally:
        merged.close()
    return output_path
