{ "options": [ { "name": "output-dir", "shortName": "o", "type": "string", "required": false, "default": null, "description": "Directory where output files are written. Default: input file directory" }, { "name": "password", "shortName": "p", "type": "string", "required": false, "default": null, "description": "Password for encrypted PDF files" }, { "name": "format", "shortName": "f", "type": "string", "required": false, "default": null, "description": "Output formats (comma-separated). Values: json, text, html, pdf, markdown, tagged-pdf. Default: json. For HTML inside Markdown use --markdown-with-html. For image extraction control use --image-output." }, { "name": "quiet", "shortName": "q", "type": "boolean", "required": false, "default": false, "description": "Suppress console logging output" }, { "name": "content-safety-off", "shortName": null, "type": "string", "required": false, "default": null, "description": "Disable content safety filters. Values: all, hidden-text, off-page, tiny, hidden-ocg" }, { "name": "sanitize", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Enable sensitive data sanitization. Replaces emails, phone numbers, IPs, credit cards, and URLs with placeholders" }, { "name": "keep-line-breaks", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Preserve original line breaks in extracted text" }, { "name": "replace-invalid-chars", "shortName": null, "type": "string", "required": false, "default": " ", "description": "Replacement character for invalid/unrecognized characters. Default: space" }, { "name": "use-struct-tree", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Use PDF structure tree (tagged PDF) for reading order and semantic structure. Output quality depends on tag quality" }, { "name": "table-method", "shortName": null, "type": "string", "required": false, "default": "default", "description": "Table detection method. Values: default (border-based), cluster (border + cluster). Default: default" }, { "name": "reading-order", "shortName": null, "type": "string", "required": false, "default": "xycut", "description": "Reading order algorithm. Values: off, xycut. Default: xycut" }, { "name": "markdown-page-separator", "shortName": null, "type": "string", "required": false, "default": null, "description": "Separator between pages in Markdown output. Use %page-number% for page numbers. Default: none" }, { "name": "markdown-with-html", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Allow HTML tags inside Markdown output for complex structures such as multi-row-span tables. Implies --format markdown." }, { "name": "text-page-separator", "shortName": null, "type": "string", "required": false, "default": null, "description": "Separator between pages in text output. Use %page-number% for page numbers. Default: none" }, { "name": "html-page-separator", "shortName": null, "type": "string", "required": false, "default": null, "description": "Separator between pages in HTML output. Use %page-number% for page numbers. Default: none" }, { "name": "image-output", "shortName": null, "type": "string", "required": false, "default": "external", "description": "Image output mode. Values: off (no images), embedded (Base64 data URIs), external (file references). Default: external" }, { "name": "image-format", "shortName": null, "type": "string", "required": false, "default": "png", "description": "Output format for extracted images. Values: png, jpeg. Default: png" }, { "name": "image-dir", "shortName": null, "type": "string", "required": false, "default": null, "description": "Directory for extracted images (applies only with --image-output external)" }, { "name": "pages", "shortName": null, "type": "string", "required": false, "default": null, "description": "Pages to extract (e.g., \"1,3,5-7\"). Default: all pages" }, { "name": "include-header-footer", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Include page headers and footers in output" }, { "name": "detect-strikethrough", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Detect strikethrough text and wrap with ~~ in Markdown output or tag in HTML output (experimental)" }, { "name": "hybrid", "shortName": null, "type": "string", "required": false, "default": "off", "description": "Hybrid backend (requires a running server). Quick start: pip install \"opendataloader-pdf[hybrid]\" && opendataloader-pdf-hybrid --port 5002. For remote servers use --hybrid-url. Values: off (default), docling-fast, hancom-ai" }, { "name": "hybrid-mode", "shortName": null, "type": "string", "required": false, "default": "auto", "description": "Hybrid triage mode. Values: auto (default, dynamic triage), full (skip triage, all pages to backend)" }, { "name": "hybrid-url", "shortName": null, "type": "string", "required": false, "default": null, "description": "Hybrid backend server URL (overrides default)" }, { "name": "hybrid-timeout", "shortName": null, "type": "string", "required": false, "default": "0", "description": "Hybrid backend request timeout in milliseconds (0 = no timeout). Default: 0" }, { "name": "hybrid-fallback", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Opt in to Java fallback on hybrid backend error (default: disabled)" }, { "name": "hybrid-hancom-ai-regionlist-strategy", "shortName": null, "type": "string", "required": false, "default": "table-first", "description": "DLA label 7 (regionlist) handling. Requires --hybrid=hancom-ai. Values: table-first (default; check TSR overlap), list-only (skip TSR, always treat as list)" }, { "name": "hybrid-hancom-ai-ocr-strategy", "shortName": null, "type": "string", "required": false, "default": "auto", "description": "OCR strategy. Requires --hybrid=hancom-ai. Values: off (stream-only), auto (default; stream first, OCR fallback), force (OCR-only)" }, { "name": "hybrid-hancom-ai-image-cache", "shortName": null, "type": "string", "required": false, "default": "memory", "description": "Page image cache backing. Requires --hybrid=hancom-ai. Values: memory (default), disk" }, { "name": "to-stdout", "shortName": null, "type": "boolean", "required": false, "default": false, "description": "Write output to stdout instead of file (single format only)" }, { "name": "threads", "shortName": null, "type": "string", "required": false, "default": "1", "description": "Number of worker threads for per-page processing. Default: 1 (sequential, stable). Values >1 (experimental) run pages in parallel for faster throughput; output may vary slightly on some PDFs. Capped at the number of available CPU cores. Applies to the native Java pipeline only; ignored in --hybrid mode" } ] }