thehardwarestore.ai

where AI agents shop for the right tools

── 98924 repos indexed ── | filtered by tag: #pdf-parser
mozilla/pdf.js ★ 53976 10693 APPLICATION

Mozilla PDF.js is a comprehensive, web-standards-based PDF rendering library and viewer built entirely in JavaScript. It parses and renders PDF documents in the browser using HTML5 Canvas and SVG, with a worker thread for heavy parsing to keep the UI responsive. The library supports PDF versions 1.0 through 2.0, including encryption, digital signatures, XFA forms, Acrobat JavaScript scripting, and a full annotation editing suite (free text, ink, highlight, stamp, signature). It also provides a complete web viewer application with sidebar, find bar, presentation mode, and printing, plus a Chrome extension and Firefox integration. The architecture is modular: a core worker thread handles parsing, font rendering, and image decoding (using WebAssembly for JPEG2000, JBIG2, Brotli, and ICC color management), while the display layer manages canvas rendering, text extraction, and annotation overlays. The viewer layer provides UI components with an event bus for decoupled communication. The codebase demonstrates exceptional craftsmanship with clean abstractions (factory patterns, base classes, lazy initialization), extensive unit and integration tests, and a sophisticated build system that targets generic web, legacy browsers, Chrome, and Firefox. Key reusable patterns include a PostScript-to-typed-array compiler with fallback interpreter, a TrueType glyf table parser/writer, an operator list optimizer using state machines, a generic message handler for worker communication, and image processing utilities for signature extraction. The project is actively maintained with frequent commits, low technical drift, and a large community.

RATING: 9.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
PaddlePaddle/PaddleOCR ★ 90516 11433 APPLICATION

PaddleOCR is a production-grade OCR and document parsing toolkit built on PaddlePaddle. It provides a comprehensive suite of models for text detection, text recognition, layout analysis, table extraction, formula recognition, key information extraction (KIE), and document conversion (PDF/Image to Markdown/JSON). The system is deployed as a Python CLI, a Python library, a C++ inference engine, mobile SDKs (Android, iOS), a JavaScript browser SDK, a Go SDK, a TypeScript SDK, and a Model Context Protocol (MCP) server for AI agent integration. It also includes a cloud API client for remote inference. The architecture is modular: models are configurable via YAML, pipelines orchestrate multi-stage workflows, and deployment targets range from edge devices to cloud servers. The codebase is actively maintained with extensive testing, CI/CD, and support for multiple hardware accelerators (GPU, NPU, XPU, etc.). While primarily an application toolkit, it also contains research-grade training infrastructure, custom loss functions, and data augmentation modules, making it a hybrid project with a strong application focus.

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 6 reusable components found
opendataloader-project/opendataloader-pdf ★ 29484 2809 APPLICATION

OpenDataLoader-PDF is a production-grade, multi-language PDF-to-structured-content extraction tool designed for AI/LLM pipelines, RAG systems, and accessibility workflows. It converts PDFs into JSON, Markdown, HTML, plain text, and tagged PDF (PDF/UA) with high accuracy (0.907 overall benchmark). The core engine is written in Java (veraPDF-based) and provides a rich CLI, while Python and Node.js SDKs bundle the Java JAR and expose idiomatic APIs. A hybrid mode routes pages to an external AI backend (Docling) for OCR, formula extraction, and picture descriptions, with a triage processor deciding per-page routing based on content signals. The project also includes an MCP server for AI agent integration, a LangChain loader, and an agent skill bundle for correct usage.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 7 reusable components found
opendatalab/MinerU ★ 81003 6752 APPLICATION

MinerU is a production-grade document parsing engine that converts PDFs, images, and Office documents (DOCX, PPTX, XLSX) into structured Markdown and JSON. It supports multiple backends: a fast pipeline (layout analysis + OCR + formula/table recognition), a high-accuracy hybrid mode combining VLM and OCR, and a pure VLM mode using vLLM/LMDeploy. The system is deployed as a CLI tool, FastAPI service, Gradio web UI, or Docker container, with integrations for RAG frameworks like LangChain, LlamaIndex, and Dify. The codebase is well-architected with clean abstractions for data I/O (file/S3), model initialization (singleton pattern), and output generation (client-side rendering). It handles 109 languages and includes specialized modules for mathematical formula recognition (UniMERNet), table structure recovery (SLANet+/UNet), and office document normalization. While the code is actively maintained and functionally rich, it carries some technical debt from its PaddleOCR heritage (vendored code, eval-based builders) and has a complex optional dependency matrix for hardware accelerators.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
yob/pdf-reader ★ 1928 286 APPLICATION

This repository is a mature Ruby gem (`pdf-reader`) that provides a comprehensive PDF parsing library. It implements a low-level PDF parser conforming to the PDF specification, enabling programmatic access to PDF content without rendering. The library supports text extraction (with UTF-8 conversion), metadata retrieval, page geometry, font handling (Type1, TrueType, Type3, CID), encryption (RC4, AES), and various PDF features like Form XObjects, inline images, and content stream processing. It is designed for document processing, text mining, and automated analysis of PDF files. The architecture follows a receiver/callback pattern for processing content streams, with `PDF::Reader` as the main entry point. Key modules include `PDF::Reader::Page` for high-level page access, `PDF::Reader::ObjectHash` for low-level object access, `PDF::Reader::Parser` for tokenization, and `PDF::Reader::Filter` for stream decompression. The library uses Sorbet for static type checking and includes a comprehensive test suite with over 120 spec files and numerous real-world PDF test fixtures. The codebase demonstrates solid engineering practices: clean abstractions (value objects like `Point`, `Rectangle`, `TextRun`), thread-safe caching (`SynchronizedCache`), optimized matrix operations (`TransformationMatrix`), and a pluggable width calculator system. It is actively maintained with support for multiple Ruby versions (2.1–4.0, JRuby, TruffleRuby) and has a well-documented changelog spanning over a decade of development.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
bytedance/Dolphin ★ 9066 775 APPLICATION

Dolphin is a document image parsing tool that uses a two-stage analyze-then-parse approach with a VLM (Qwen2.5-VL). It takes images or PDFs, performs layout analysis to detect elements (text, tables, formulas, code, figures) with reading order, then parses each element in parallel batches. Outputs structured JSON and Markdown with visualized layout. The codebase is well-structured, offering CLI entry points for page-level, element-level, and layout-only parsing. It demonstrates good engineering practices with batching, coordinate mapping, and post-processing for formula/special characters. The core implementation wraps the Hugging Face Qwen2.5-VL model and includes utility modules for layout string parsing, PDF conversion, and markdown generation. The architecture is a CLI application with minimal coupling, making the utility modules potentially reusable across document parsing projects.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: