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 main features of pdfminer/pdfminer.six are: PDF Parsers, Document Object Models, Multilingual Text Processing, Document Layout Analysis, Content Stream Manipulations, PDF Internal Structure Inspection, PDF Layout Analysis Tools, PDF Text Extraction.
Open-source alternatives to pdfminer/pdfminer.six include: pymupdf/pymupdf — PyMuPDF is a comprehensive PDF manipulation library and document analysis tool. It serves as a text extraction tool,… kreuzberg-dev/kreuzberg — Kreuzberg is a document extraction engine that converts PDFs, Office files, images, and over 90 other formats into… py-pdf/pypdf — pypdf is a Python library for parsing, manipulating, and generating PDF documents. It provides high-level operations… py-pdf/pypdf2 — PyPDF2 is a pure Python library for transforming, securing, and extracting data from PDF documents. It provides a… jsvine/pdfplumber — pdfplumber is a PDF data extraction library and layout analysis tool used to retrieve text, tables, and geometric… euske/pdfminer — pdfminer is a Python library for parsing PDF files to extract text, analyze layouts, decrypt content, and convert…
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
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
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
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