For document processing libraries, the first results are mstamy2/pypdf2 (This library provides robust tools for PDF manipulation, text extraction, and document restructuring, making it a core component for programmatic document processing tasks), pymupdf/pymupdf (PyMuPDF is a high-performance library that provides comprehensive tools for PDF manipulation, text extraction, OCR integration, and format conversion, directly addressing all the core requirements for document processing) and docling-project/docling (Docling is a comprehensive document processing library that natively handles PDF manipulation, OCR, text extraction, and format conversion into structured data, perfectly aligning with your requirements). pdfcrafttool/pdfcraft and gotenberg/gotenberg round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Explore the best open-source document processing libraries. Compare top-rated tools by features and activity to find the best fit for your project.
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
This library provides robust tools for PDF manipulation, text extraction, and document restructuring, making it a core component for programmatic document processing tasks.
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
PyMuPDF is a high-performance library that provides comprehensive tools for PDF manipulation, text extraction, OCR integration, and format conversion, directly addressing all the core requirements for document processing.
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
Docling is a comprehensive document processing library that natively handles PDF manipulation, OCR, text extraction, and format conversion into structured data, perfectly aligning with your requirements.
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
Pdfcraft is a comprehensive, containerized document processing service that provides the requested PDF manipulation, OCR, and format conversion capabilities within an automated, node-based workflow environment.
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
Gotenberg is a containerized service that provides a unified API for document conversion and PDF manipulation, making it a robust tool for programmatically handling various document formats.
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
Stirling-PDF is a self-hosted document management application that provides robust PDF manipulation, OCR, and conversion capabilities through a web interface and API, making it a comprehensive tool for document processing tasks.
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
This toolkit provides a comprehensive pipeline for PDF parsing, including OCR, layout analysis, and conversion to structured formats like Markdown and HTML, fitting the requirements for document processing.
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
This library provides robust tools for PDF manipulation, text extraction, and document assembly, making it a specialized component for handling PDF-based document processing tasks.
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
Marker is a document processing tool that extracts text, tables, and layout structures from PDFs and images, converting them into structured formats like Markdown and JSON.
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
Kreuzberg is a comprehensive document extraction engine that provides PDF manipulation, OCR, and format conversion capabilities, making it a direct match for your requirements.
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
This library provides the core OCR and text extraction capabilities required for document processing, though it focuses specifically on image-based text recognition rather than native PDF manipulation or format conversion.
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
This is a specialized library for extracting text, tables, and geometric data from PDFs, making it a strong tool for document processing despite lacking built-in OCR or support for non-PDF formats.
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
This is a comprehensive Go library and CLI tool for PDF manipulation, including page management, security, and structural optimization, which directly addresses the core document processing requirements.
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
Tesseract is a specialized OCR engine that provides the core text extraction and digitization capabilities required for document processing, though it focuses on image-to-text conversion rather than general-purpose PDF manipulation or format conversion.
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
Stirling-PDF is a self-hosted document processing suite that provides a robust API for programmatic PDF manipulation, conversion, and OCR tasks, making it a highly capable tool for automating document workflows.
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
This library provides the Tesseract OCR engine for Android, enabling text extraction from images and including pre-processing tools to improve recognition accuracy.
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
This library is a specialized tool for parsing and extracting text, layout, and metadata from PDF files, making it a direct fit for programmatic document processing despite lacking built-in OCR capabilities.
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
This is a desktop application for PDF manipulation that includes OCR and format conversion capabilities, fitting the category of a document processing tool even though it is primarily a standalone application rather than a developer-focused library.
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
This Java library provides robust tools for PDF creation, editing, and text extraction, serving as a core component for document processing workflows despite lacking native OCR capabilities.
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
Tesseract is a specialized OCR engine that provides the core text extraction and layout analysis capabilities required for document processing, though it focuses on image-to-text conversion rather than general-purpose PDF manipulation or format conversion.
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
This library provides the core functionality for parsing, inspecting, and extracting text from PDF documents, making it a suitable tool for programmatic document processing despite lacking built-in OCR capabilities.
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
Surya is a document processing toolkit that provides the core capabilities of text extraction, layout analysis, and format conversion required to transform unstructured documents into structured data.
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
Apache Tika is a comprehensive toolkit for detecting and extracting text and metadata from a vast array of file formats, serving as a robust engine for document processing and OCR integration.
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
This library provides robust tools for parsing, splitting, merging, and extracting data from PDF documents, making it a core component for document processing workflows despite lacking built-in OCR capabilities.
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,
This library provides a robust suite for programmatically creating, modifying, and converting Office and PDF documents, fitting the category well despite lacking explicit OCR capabilities.
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
This tool provides a programmatic pipeline for extracting and converting diverse document formats into structured Markdown, effectively serving as a modern document processing library that handles both text extraction and OCR-based analysis.
This library focuses on converting Word documents to HTML, providing essential text extraction and format conversion capabilities within the document processing domain.
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
This framework provides a comprehensive suite of document extraction and parsing utilities specifically designed to convert unstructured files into structured data for RAG and AI workflows, fitting the requirements for document processing.
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
Pandoc is a powerful document conversion engine that excels at parsing and transforming content between a vast array of formats, making it a highly effective tool for programmatic document manipulation and extraction.
A fast, helpful, and open-source document parser
This library provides a comprehensive suite of tools for document parsing, including OCR, PDF manipulation, and text extraction, making it a direct fit for programmatic document processing tasks.
Open-XML-SDK is a library for programmatically creating, modifying, and validating Office documents based on the Open XML standard. It functions as an office file generator and XML document parser, enabling the manipulation of word processing, spreadsheet, and presentation files. The library allows for the generation and updating of document content and structure without requiring the native office applications to be installed. It utilizes strongly typed classes and a schema-validated approach to ensure that created files remain compatible and correctly structured. The project provides capab
This library provides robust programmatic manipulation and generation of Office documents, though it is specialized for the Open XML format rather than general-purpose PDF processing or OCR tasks.
NPOI is a pure .NET library for reading and writing Microsoft Office files in both legacy binary (.xls) and modern OpenXML (.xlsx, .docx) formats, operating entirely without requiring Microsoft Office or COM interop. It runs on Windows and Linux under .NET Standard and .NET Framework runtimes, using only managed code to parse and generate Office documents. The library provides comprehensive spreadsheet capabilities, including creating, editing, and reading Excel workbooks in both .xls and .xlsx formats, with support for cell formatting, styles, and formulas. It includes a streaming row-by-row
NPOI is a robust .NET library for programmatically reading, writing, and manipulating Microsoft Office document formats, fitting the category by providing deep access to structured document data even without native PDF or OCR capabilities.
docx is a JavaScript and TypeScript library for the programmatic generation and manipulation of Word documents. It serves as an OOXML document generator, allowing developers to create formatted office files through code instead of manual editing. The library enables document automation across both Node.js and web browser environments. It supports client-side document export, allowing users to generate and download files directly in the browser without a backend server. Capabilities include the ability to define page layouts, margins, and orientation. Users can programmatically insert documen
This library provides programmatic generation and manipulation of Word documents, fitting the category as a tool for document processing even though its primary focus is on creation rather than extraction or OCR.
MinerU is a document parsing pipeline designed to transform unstructured files into machine-readable, structured data. It utilizes deep learning models to perform layout analysis, identifying document regions and extracting complex content such as mathematical expressions. By combining these neural network inferences with geometric heuristics, the system reconstructs the reading order and structural hierarchy of documents to ensure accurate data representation. The project distinguishes itself through a multi-stage processing workflow that integrates layout detection, optical character recogn
MinerU is a comprehensive document parsing pipeline that performs layout analysis, OCR, and structured data extraction from PDFs, making it a highly capable tool for your document processing needs.
pdf2htmlEX is a PDF to HTML converter that transforms documents into web pages while preserving the original layout, fonts, and formatting. It functions as a layout engine and text extractor, mapping PDF coordinate data to HTML and CSS to maintain visual fidelity. The tool converts PDF content into searchable and selectable native HTML text by embedding original document fonts. It maintains document interactivity by preserving internal links, bookmarks, and outlines, converting them into functional web navigation. The conversion process supports flexible output structures, allowing documents
This tool is a specialized document processor that extracts text and layout information from PDFs to convert them into structured HTML, fitting the category of a document processing library despite its specific focus on format conversion.
Camelot is a Python library and processing engine designed to extract tabular data from PDF documents. It converts unstructured tables into machine-readable formats such as CSV, JSON, and Excel. The project provides specialized toolsets for different document types, using line detection for ruled tables and whitespace analysis for borderless tables. It includes an optical character recognition system to recover structured data from image-based scanned PDFs that lack a digital text layer. The library handles complex document layouts, including encrypted files, rotated pages, and tables that s
Camelot is a specialized Python library that focuses on extracting tabular data from PDFs, including support for OCR and various structured output formats, making it a highly effective tool for document processing tasks.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you…
This Java library provides robust capabilities for PDF manipulation and text extraction, serving as a core tool for document processing workflows.
Llama-ocr is a library designed to convert images and documents into structured markdown by leveraging multimodal vision models. It functions as a vision-based text extractor and document parser, identifying and transcribing both textual content and spatial layout from image-based files. The tool utilizes large vision models to perform zero-shot layout parsing, allowing it to interpret document structures without the need for task-specific training data. It employs prompt-driven extraction to guide the model in formatting raw visual data into consistent markdown syntax, while operating throug
This library provides programmatic OCR and text extraction by converting documents into structured Markdown using vision models, fitting the category of a document processing tool.
Grobid is a machine learning system designed to transform academic and scientific PDF publications into structured XML. It functions as a PDF to XML parser and scholarly metadata extractor, identifying and normalizing titles, authors, affiliations, and bibliographic references from research papers. The system utilizes a deep learning document segmenter to divide raw PDFs into functional regions and employs a bibliographic reference resolver to match citations against external registries for metadata enrichment and DOI resolution. It supports a full machine learning model training pipeline, al
Grobid is a specialized machine learning tool for extracting structured metadata and full-text content from scientific PDFs, making it a highly effective library for complex document parsing and data conversion tasks.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| mstamy2/pypdf2 | 10.1K | Python | NOASSERTION | |
| pymupdf/pymupdf | 9.1K | Python | agpl-3.0 | |
| docling-project/docling |
| 61.7K |
| Python |
| MIT |
| pdfcrafttool/pdfcraft | 3.1K | JavaScript | agpl-3.0 |
| gotenberg/gotenberg | 12.5K | Go | MIT |
| frooodle/stirling-pdf | 81.2K | Java | NOASSERTION |
| opendatalab/pdf-extract-kit | 9.7K | Python | AGPL-3.0 |
| py-pdf/pypdf2 | 10.1K | Python | NOASSERTION |
| vikparuchuri/marker | 36.2K | Python | GPL-3.0 |
| kreuzberg-dev/kreuzberg | 8.5K | Rust | NOASSERTION |