OpenDataLoader PDF - PDF→JSON/MD (PL)
Java-based (Python wrapper) parser PDF najwyższej jakości dla AI. Benchmarki: NID (reading order), TEDS (tabele), MHS (headings). Używany w pipeline Konwerter/ w vault.
Instalacja (zrobione 2026-04-21)
python -m pip install --user opendataloader-pdf
Python 3.14, opendataloader-pdf 2.2.1. Wymaga Java 17+ (mamy Eclipse Adoptium JDK 17). CLI: python -m opendataloader_pdf albo opendataloader-pdf.exe ze Scripts/.
Wspierane outputy
- JSON (pełna struktura - reading order, bounding boxes, tabele jako 2D arrays) - default
- Markdown (flattened output, gotowy pod LLM)
- HTML (opcjonalnie)
Użycie
CLI - pojedynczy PDF
python -m opendataloader_pdf --input plik.pdf --output output/ --format md
Batch (Obsidian Vault, pipeline Konwerter)
python -m opendataloader_pdf \
--input "%USERPROFILE%/Documents/Obsidian Vault/wszystko co wpada szybko/" \
--output "%USERPROFILE%/Documents/Obsidian Vault/Konwerter/" \
--format md \
--recursive
Zaawansowane flagi
--enrich-formula- wyciąga formuły LaTeX--enrich-picture-description- opis obrazów (wymaga--hybrid-mode full)--filter-hidden-text- wykrywa ukryty tekst (off by default, per-page rendering)
Python API
import opendataloader_pdf
result = opendataloader_pdf.load("plik.pdf", output_format="markdown")
print(result.markdown)
Kiedy użyć vs MarkItDown
| Narzędzie | |
|---|---|
| Prosty, tekst liniowy (blog, artykuł prasowy) | MarkItDown (szybsze) |
| Papers naukowe, raporty z tabelami | OpenDataLoader (jakość) |
| Dokumenty z 2-kolumnowym layoutem | OpenDataLoader (reading order) |
| Multi-page tabele | OpenDataLoader (TEDS) |
| Batch Konwerter/ (domyślnie) | OpenDataLoader |
Integracja z vault
Pipeline Konwerter (istnieje Python script w _vault-management/scripts/):
- PDF wrzucone do
wszystko co wpada szybko/lub dropowane bezpośrednio opendataloader-pdf --input <path> --format md --output Konwerter/- Frontmatter:
type: source-pdf, tags: [pdf, zrodlo]- zgodnie zvault-rules.json→clippings.classification_rules.pdf_source - Powiązane oryginały PDF w folderze
Konwerter/lub Attachments
Gotcha
- Java 17 wymagana - Adoptium JDK zainstalowana (
/c/Program Files/Eclipse Adoptium/jdk-17.0.10.7-hotspot/) - Wolniejsze niż MarkItDown - nie używaj dla prostych PDFów
- ForkJoinPool parallelism - per-page przetwarzanie równoległe,
--filter-hidden-textwyłącza parallel - Przy zmianach CLI opcji w Java:
npm run sync(dla kontrybutorów - nas nie dotyczy)
Zasady
- Zawsze output do
Konwerter/, nie nadpisuj oryginalnych PDF - Batch > 10 PDF → zapytaj Wiesława przed startem
- Idempotencja: jeśli
.mdjuż istnieje w output i checksumma PDF nie zmieniona → skip