feat(pdf-to-markdown): add pymupdf-convert CLI for faster PDF→Markdown conversion
Introduces a new directory containing a small standalone CLI tool () that converts PDFs to Markdown using PyMuPDF and pymupdf4llm. When installed, it replaces the slower pdftohtml-based converter with a significantly faster path. The tool is invoked as an OS subprocess, following the same pattern already used for LibreOffice and Tesseract. A new service handles discovery (PATH probe, cached 30 s), temp file I/O, and process execution via the existing infrastructure. Auto-detected at startup via — no configuration flag required. Falls back transparently to the bundled pdftohtml converter if not found. is baked into the Docker base image via the existing Python venv build stage and symlinked onto PATH, so all Docker users get the faster path automatically with no manual steps. AGPL notice: is licensed under AGPL-3.0-or-later because it depends on PyMuPDF (AGPL-3.0 / Artifex commercial). It is a SEPARATE program from the rest of Stirling PDF and shares no source code with the MIT-licensed core or the proprietary engine. The subprocess boundary ensures the AGPL copyleft attaches to this tool alone and does not extend to Stirling PDF. The LICENSE file and pymupdf-worker/LICENSE document this separation explicitly. Do not replace the subprocess invocation with an in-process import of PyMuPDF.
This commit is contained in:
@@ -25,6 +25,9 @@ includes:
|
||||
e2e:
|
||||
taskfile: .taskfiles/e2e.yml
|
||||
dir: .
|
||||
pymupdf:
|
||||
taskfile: .taskfiles/pymupdf.yml
|
||||
dir: pymupdf-worker
|
||||
|
||||
tasks:
|
||||
# ============================================================
|
||||
|
||||
Reference in New Issue
Block a user