# Document processing libraries

> AI-ranked search results for `document processing libraries` on awesome-repositories.com — ordered by an LLM for relevance, best match first. 118 total matches; showing the top 30.

Explore on the web: https://awesome-repositories.com/q/document-processing-libraries

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [this search on awesome-repositories.com](https://awesome-repositories.com/q/document-processing-libraries).**

## Results

- [mstamy2/pypdf2](https://awesome-repositories.com/repository/mstamy2-pypdf2.md) (10,064 ⭐) — PyPDF2 is a pure Python library for reading, writing, and manipulating PDF files. It functions as a document manipulator, text extractor, and encryption tool, allowing users to process PDF files without relying on external C libraries or native binaries.

The library provides specialized tools for modifying document structures, such as merging multiple files into one, splitting documents into separate files, and transforming page layouts through cropping. It also includes capabilities for securing documents via passwords and encryption.

Additional capabilities include the extraction of writte
- [pymupdf/pymupdf](https://awesome-repositories.com/repository/pymupdf-pymupdf.md) (9,086 ⭐) — PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool, OCR engine, and image converter, providing a programmatic interface to edit, merge, split, and optimize PDF and Office documents.

The project distinguishes itself through high-performance capabilities, including the use of C-bindings for low-level manipulation and parallelized page processing to accelerate workloads. It provides specialized conversion paths, such as transforming PDF content into Markdown for retrieval-augmented generation and large language model pipelines.

It
- [docling-project/docling](https://awesome-repositories.com/repository/docling-project-docling.md) (61,674 ⭐) — Docling is a modular framework designed for document parsing, layout analysis, and structured data extraction. It transforms unstructured files and web content into a unified, hierarchical data model that preserves the spatial and semantic relationships between text, tables, images, and layout elements. By normalizing diverse input formats into a consistent internal representation, the library enables uniform processing across various document types.

The project distinguishes itself through a schema-driven approach that maps document regions to strongly-typed objects, ensuring data accuracy t
- [pdfcrafttool/pdfcraft](https://awesome-repositories.com/repository/pdfcrafttool-pdfcraft.md) (3,113 ⭐) — Pdfcraft is a containerized service for self-managed PDF processing, editing, and conversion. It provides a toolkit for document manipulation, a multi-format converter, and OCR software to transform scanned documents into searchable and editable text.

The project features a visual, node-based workflow editor that allows users to build automated pipelines by chaining together various PDF conversion and optimization operations.

The service covers a broad range of capabilities, including document management for merging and splitting files, format conversion between PDFs and office documents or
- [gotenberg/gotenberg](https://awesome-repositories.com/repository/gotenberg-gotenberg.md) (12,452 ⭐) — Gotenberg is a stateless, containerized service that provides a unified API for document conversion, manipulation, and web-to-PDF rendering. It functions as a centralized engine that abstracts complex document processing tasks, allowing users to interact with various rendering tools and libraries through standard HTTP requests.

The service distinguishes itself by utilizing headless browser automation to capture web content and by wrapping multiple specialized PDF engines into a single interface. It supports asynchronous task execution, offloading resource-intensive operations to background wo
- [frooodle/stirling-pdf](https://awesome-repositories.com/repository/frooodle-stirling-pdf.md) (81,168 ⭐) — Stirling-PDF is a web-based PDF management suite used for editing, merging, splitting, and converting PDF documents. It functions as a self-hosted document manager, providing a centralized interface for users to manipulate files on a private server.

The system features a workflow automation engine that allows for the creation of processing pipelines to handle large volumes of documents without writing custom code. It also includes an optical character recognition tool to convert scanned PDFs into searchable and editable text.

Access is managed through single sign-on integration and OIDC comp
- [opendatalab/pdf-extract-kit](https://awesome-repositories.com/repository/opendatalab-pdf-extract-kit.md) (9,724 ⭐) — PDF-Extract-Kit is a document extraction toolkit designed to convert PDF documents into structured formats such as Markdown, HTML, and LaTeX. It functions as a multi-stage parsing framework that combines a document layout analyzer, a formula recognition engine, an OCR text extractor, and a table extraction system.

The project focuses on recovering complex document elements by translating images of mathematical formulas and tabular structures into editable source code. It utilizes model-driven layout analysis to identify structural elements in reports and textbooks while ignoring noise like wa
- [py-pdf/pypdf2](https://awesome-repositories.com/repository/py-pdf-pypdf2.md) (10,094 ⭐) — PyPDF2 is a pure Python library for transforming, securing, and extracting data from PDF documents. It provides a comprehensive suite of tools to modify page layouts, manage document security, and retrieve embedded metadata without relying on external C libraries.

The toolkit enables document assembly through the merging of multiple files and the splitting of documents into smaller parts. It also supports page-level transformations, including the ability to rotate pages and adjust visible crop areas.

The library includes capabilities for security management via password-based encryption and
- [vikparuchuri/marker](https://awesome-repositories.com/repository/vikparuchuri-marker.md) (36,164 ⭐) — Marker is an LLM-powered document parser and OCR pipeline designed to convert PDFs and unstructured files into structured markdown, JSON, and HTML. It functions as a data preprocessor that transforms complex documents into machine-readable formats while preserving tables, equations, and layout structures.

The system utilizes large language models to refine OCR accuracy, clean mathematical notation, and merge fragmented tables across multiple pages. It employs model-based layout analysis to predict block types and bounding boxes, ensuring a more precise conversion of document elements.

Capabi
- [kreuzberg-dev/kreuzberg](https://awesome-repositories.com/repository/kreuzberg-dev-kreuzberg.md) (8,527 ⭐) — Kreuzberg is a document extraction engine that converts PDFs, Office files, images, and over 90 other formats into clean, structured text and metadata. It is built around a compiled Rust core that can be used as a native library, a command-line tool, a REST API server, or a WebAssembly module for browser-based processing. The system is designed to run entirely on self-hosted infrastructure, with no data leaving the user's environment.

What distinguishes Kreuzberg is its breadth of integration surfaces and its pipeline architecture. It exposes extraction capabilities through native bindings fo
- [jaidedai/easyocr](https://awesome-repositories.com/repository/jaidedai-easyocr.md) (29,615 ⭐) — EasyOCR is a deep learning-based computer vision library designed to perform optical character recognition on images and video frames. It functions as a comprehensive pipeline that automates the transformation of visual text into machine-readable strings, enabling the digitization of physical documents, forms, and receipts into searchable data.

The engine distinguishes itself through a multi-stage processing workflow that combines convolutional neural networks for spatial feature extraction with sequence-based decoding mechanisms. This architecture allows the system to identify and interpret
- [jsvine/pdfplumber](https://awesome-repositories.com/repository/jsvine-pdfplumber.md) (9,732 ⭐) — pdfplumber is a PDF data extraction library and layout analysis tool used to retrieve text, tables, and geometric objects from PDF files using precise coordinate-based analysis. It functions as a layout analyzer and table parser that identifies the bounding boxes and visual coordinates for every character and image on a page.

The library distinguishes itself through visual debugging capabilities, allowing users to render PDF pages as images and draw annotations to verify the position of extracted data. It employs line and intersection analysis to identify cell structures and convert unstructu
- [pdfcpu/pdfcpu](https://awesome-repositories.com/repository/pdfcpu-pdfcpu.md) (8,675 ⭐) — pdfcpu is a Go PDF processing library and command-line interface designed for programmatically manipulating, optimizing, and validating PDF files. It provides a toolkit for document content modification and structural management.

The project distinguishes itself as an optimization tool and layout engine, capable of reducing file sizes and improving loading speeds by streamlining internal structures. It also functions as a security manager, providing password-based encryption, decryption, and digital signature verification.

Its capability surface includes page management for merging, splittin
- [ub-mannheim/tesseract](https://awesome-repositories.com/repository/ub-mannheim-tesseract.md) (4,111 ⭐) — Tesseract is an optical character recognition engine and tool designed to convert printed or handwritten text from images into machine-readable digital text. It functions as a multilingual text extractor and a document digitization pipeline that transforms scanned images into structured digital formats.

The project includes a framework for training custom scripts and language-specific models, allowing the engine to recognize new languages or unique fonts through custom training data.

Its capabilities cover automated text extraction, digital archive digitization, and the export of recognized
- [stirling-tools/stirling-pdf](https://awesome-repositories.com/repository/stirling-tools-stirling-pdf.md) (81,109 ⭐) — Stirling-PDF is a self-hosted document processing suite designed for secure, private file management. It functions as a comprehensive transformation engine that executes complex operations—such as merging, splitting, converting, and redacting documents—directly on the host machine. The platform provides both a browser-based interface for interactive editing and a programmatic, API-first architecture that allows for the automation of document workflows through standard HTTP requests.

The project distinguishes itself through its focus on private, infrastructure-agnostic deployment and granular
- [rmtheis/tess-two](https://awesome-repositories.com/repository/rmtheis-tess-two.md) (3,765 ⭐) — Tess-two is an optical character recognition tool and Android application designed to extract written text from images using the Tesseract engine. It functions as an image analysis utility for detecting visual artifacts, blur, and optical flow within local image files on Android devices.

The project includes an image pre-processing suite used to clean and manipulate images to increase the accuracy of text recognition. This involves a pipeline that applies grayscale conversion and binarization before the recognition process.

The software integrates native image processing and character analys
- [pdfminer/pdfminer.six](https://awesome-repositories.com/repository/pdfminer-pdfminer-six.md) (6,906 ⭐) — pdfminer.six is a programmatic tool for extracting text, layout information, and metadata from PDF documents into machine-readable formats. It functions as a document parser that converts internal PDF objects and structures into accessible data objects for analysis.

The project includes utilities for decrypting RC4 and AES encrypted files to enable content extraction. It also provides a layout analyzer to identify fonts, colors, and text locations to determine the organizational structure of pages.

The system covers a broad range of extraction capabilities, including the retrieval of embedde
- [torakiki/pdfsam](https://awesome-repositories.com/repository/torakiki-pdfsam.md) (4,457 ⭐) — pdfsam is a PDF manipulation software and desktop application designed for splitting, merging, rotating, and extracting pages from PDF documents. It functions as a PDF editor, converter, and security tool, providing capabilities to modify document structures and manage file formats.

The project distinguishes itself through specialized processing capabilities, including an OCR document processor for extracting editable text from scanned images and PDF interleaving to alternate pages from multiple files. It also provides a security suite for encrypting documents, managing access permissions, an
- [librepdf/openpdf](https://awesome-repositories.com/repository/librepdf-openpdf.md) (4,293 ⭐) — OpenPDF is a Java library and document processor used for creating, editing, rendering, and encrypting PDF documents. It functions as a toolkit for generating new files from scratch, modifying existing document structures, and extracting text content.

The project includes a dedicated engine for transforming HTML and CSS content into PDF documents by parsing markup and applying styles. It also provides a rendering engine to convert PDF pages into image formats for thumbnails and previews, alongside a security utility for protecting content via document encryption.

The library supports the add
- [tesseract-ocr/tesseract](https://awesome-repositories.com/repository/tesseract-ocr-tesseract.md) (74,751 ⭐) — Tesseract is a neural network-based optical character recognition engine designed to convert scanned images and digital documents into machine-readable, searchable text. It functions as both a command-line utility for automating large-scale digitization workflows and a cross-platform library that can be embedded into desktop, mobile, or server-side applications. By utilizing long short-term memory networks, the engine provides robust text extraction across more than one hundred languages and dozens of scripts.

The project distinguishes itself through a sophisticated document layout analysis f
- [pdf-rs/pdf](https://awesome-repositories.com/repository/pdf-rs-pdf.md) (1,672 ⭐) — This library is a toolkit for processing, manipulating, and inspecting PDF documents within the Rust programming language. It provides programmatic access to the internal structure of files, enabling the extraction of data and the modification of document content.

The project utilizes a strongly-typed system to map complex document objects into structured data models. It supports the parsing of existing files through lazy-loading and stream-based decoding, which allows for the retrieval of text, metadata, and images. The library also facilitates the creation of updated document versions by re
- [datalab-to/surya](https://awesome-repositories.com/repository/datalab-to-surya.md) (20,889 ⭐) — Surya is a document processing platform designed to transform unstructured files into structured, machine-readable data. It provides a comprehensive suite of tools for text recognition, layout analysis, and reading order detection, enabling the conversion of PDFs and images into formats such as JSON, HTML, or markdown. The platform is built to handle complex document workflows, offering capabilities for data extraction, document segmentation, and automated form completion.

The platform distinguishes itself through a robust pipeline-based architecture that allows users to chain analysis tasks
- [apache/tika](https://awesome-repositories.com/repository/apache-tika.md) (3,572 ⭐) — Tika is a content analysis toolkit and Java library designed for detecting and extracting metadata and text from thousands of different file types. It functions as a universal document text extractor and metadata extraction engine, converting complex files into plain text or XHTML.

The system employs a specialized MIME type detector that identifies document formats using magic bytes and metadata to determine the correct parser. It serves as an OCR integration gateway, connecting to external text recognition tools to extract content from image files.

The project covers a broad range of extrac
- [py-pdf/pypdf](https://awesome-repositories.com/repository/py-pdf-pypdf.md) (9,818 ⭐) — pypdf is a Python library for parsing, manipulating, and generating PDF documents. It provides high-level operations for document processing, such as merging multiple files into one or splitting a single document into smaller files.

The project includes specialized tools for managing interactive elements, including the creation and modification of annotations, hyperlinks, and form fields. It also supports advanced metadata management, allowing for the extraction and modification of standard document properties and XML-based XMP metadata.

Beyond basic structural changes, the library covers pa
- [unidoc/unioffice](https://awesome-repositories.com/repository/unidoc-unioffice.md) (4,809 ⭐) — unioffice is a comprehensive document processing suite that provides a PDF document processor, an Open XML document library, a document security toolkit, and a document content extractor. It is designed to programmatically create, read, and modify Word, Excel, and PowerPoint files, as well as generate and edit PDF documents.

The project is distinguished by its native language implementation of the Open XML standard, which removes native binary dependencies to simplify container deployments. It features advanced capabilities for digital document security, including hardware-based PDF signing,
- [microsoft/markitdown](https://awesome-repositories.com/repository/microsoft-markitdown.md) (154,485 ⭐) — This project is an AI-powered document processing engine designed to transform diverse file formats into structured Markdown. By leveraging multimodal language models, it performs complex layout analysis and semantic text extraction, allowing for the conversion of both unstructured files and scanned images into machine-readable content.

The toolkit distinguishes itself through a modular, plugin-based architecture that orchestrates multi-stage extraction pipelines. Users can steer the parsing behavior by injecting custom instructions, enabling the system to adapt to domain-specific document st
- [mwilliamson/mammoth.js](https://awesome-repositories.com/repository/mwilliamson-mammoth-js.md) (6,101 ⭐)
- [llmware-ai/llmware](https://awesome-repositories.com/repository/llmware-ai-llmware.md) (14,838 ⭐) — llmware is a Python framework for AI agent orchestration and model management, designed to coordinate multi-model workflows and autonomous agents. It provides a unified model catalog and standardized interface to execute specialized language models for complex research, analysis, and structured data generation.

The project distinguishes itself through its heavy emphasis on local execution and quantized inference, allowing models to run on private infrastructure using CPU, GPU, and NPU acceleration via runtimes like ONNX and OpenVino. It features a specialized ability to translate natural lang
- [jgm/pandoc](https://awesome-repositories.com/repository/jgm-pandoc.md) (44,822 ⭐) — Pandoc is a universal document converter that translates content between a wide range of markup and binary formats. It functions by parsing input documents into a unified intermediate abstract syntax tree, which serves as the foundation for consistent manipulation and transformation across diverse output types.

The system is distinguished by its modular reader-writer pipeline, which decouples input parsing from output generation to allow for granular control over document structure. Users can programmatically manipulate this intermediate tree through a robust filter system, supporting both ex
- [run-llama/liteparse](https://awesome-repositories.com/repository/run-llama-liteparse.md) (10,782 ⭐) — A fast, helpful, and open-source document parser
