Skip to content

PDFStruct v0.1.0

Choose a tag to compare

@KelesogluMustafa KelesogluMustafa released this 06 Oct 00:59
· 30 commits to main since this release

PDFStruct converts PDFs locally and exports structured content. Free and open source (MIT), no account, no telemetry, no usage limits.

Highlights

  • Interactive pdfstruct terminal menu: run it in a folder, pick PDFs, pick formats, done
  • Multi-PDF selection and multi-format selection (N PDFs x M formats, each PDF extracted once)
  • Native PDF text extraction with a per-page quality score
  • Automatic OCR fallback for scans and photos (PaddleOCR, CPU, in-process, models cached per user on first use)
  • Output formats: JSON, HTML, TXT, Markdown, CSV, XLSX, DOCX, JSONL, SQLite
  • File, folder and batch processing; non-interactive aliases pdfjson, pdfhtml, pdftxt, pdfmd, pdfcsv, pdfxlsx, pdfdocx, pdfjsonl, pdfsqlite for scripts and CI
  • Idempotent: unchanged PDFs are skipped, existing raw JSON is reused for every export

Install (from this release)

pip install pdfstruct-0.1.0-py3-none-any.whl

Python 3.10+ (OCR dependencies: 3.9–3.13). Not on PyPI yet.

Verified platforms

Tests, native extraction and CPU OCR passed on GitHub Actions with Python 3.13:

  • Windows x86_64 (windows-latest)
  • Linux x86_64 (ubuntu-latest)
  • macOS Apple Silicon arm64 (macos-latest)

Other platforms (macOS Intel, Linux arm64, Windows ARM) install and extract native text, but OCR is not available there because paddlepaddle publishes no wheels for them.

Checksums

See SHA256SUMS.txt.