Spaces:
Running
Running
Add page_start/page_end params to pipeline
Browse files- core/convert_pipeline.py +9 -0
core/convert_pipeline.py
CHANGED
|
@@ -242,6 +242,8 @@ def run_score_pipeline(
|
|
| 242 |
save_dir: str = "",
|
| 243 |
on_progress=None,
|
| 244 |
correct_xml: bool = False,
|
|
|
|
|
|
|
| 245 |
) -> tuple[str, list[str], list[str]]:
|
| 246 |
"""
|
| 247 |
μ
보 νμΌ(PDF/PNG/JPG) β MML ν
μ€νΈ λ³ν.
|
|
@@ -286,6 +288,13 @@ def run_score_pipeline(
|
|
| 286 |
_prog(0.0, "νμ΄μ§ λΆλ¦¬ μ€...")
|
| 287 |
if ext == ".pdf":
|
| 288 |
raw_pngs = _pdf_to_pngs(input_path, str(pages_dir), dpi=dpi)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 289 |
else:
|
| 290 |
dest = str(pages_dir / f"page_01.png")
|
| 291 |
_copy_with_scale(input_path, dest, scale=1.0)
|
|
|
|
| 242 |
save_dir: str = "",
|
| 243 |
on_progress=None,
|
| 244 |
correct_xml: bool = False,
|
| 245 |
+
page_start: int = 0,
|
| 246 |
+
page_end: int = 0,
|
| 247 |
) -> tuple[str, list[str], list[str]]:
|
| 248 |
"""
|
| 249 |
μ
보 νμΌ(PDF/PNG/JPG) β MML ν
μ€νΈ λ³ν.
|
|
|
|
| 288 |
_prog(0.0, "νμ΄μ§ λΆλ¦¬ μ€...")
|
| 289 |
if ext == ".pdf":
|
| 290 |
raw_pngs = _pdf_to_pngs(input_path, str(pages_dir), dpi=dpi)
|
| 291 |
+
# Page range filtering (1-based, 0 = no limit)
|
| 292 |
+
if page_start > 0 or page_end > 0:
|
| 293 |
+
start = max(0, page_start - 1) if page_start > 0 else 0
|
| 294 |
+
end = page_end if page_end > 0 else len(raw_pngs)
|
| 295 |
+
raw_pngs = raw_pngs[start:end]
|
| 296 |
+
if not raw_pngs:
|
| 297 |
+
raise ValueError(f"μ νν νμ΄μ§ λ²μ({page_start}~{page_end})μ ν΄λΉνλ νμ΄μ§κ° μμ΅λλ€.")
|
| 298 |
else:
|
| 299 |
dest = str(pages_dir / f"page_01.png")
|
| 300 |
_copy_with_scale(input_path, dest, scale=1.0)
|