30 open-source projects similar to py-pdf/pypdf, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pypdf alternative.
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
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
PDFPatcher is a specialized suite of PDF utility tools designed for editing navigational bookmarks, modifying document structure, managing metadata, and processing pages. It provides a toolkit for altering PDF structures and properties without changing the original content stream. The project is distinguished by its focus on bookmark management, featuring bulk editing and the ability to generate clickable bookmarks from visual tables of contents using optical character recognition. It also includes capabilities for font optimization through substitution and embedding to ensure consistent char
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
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
mPDF is a PHP library that transforms UTF-8 encoded HTML and CSS into formatted PDF documents. It serves as a PDF generation engine and document architect capable of converting web pages and HTML forms into professional files. The project is distinguished by its multilingual rendering capabilities, providing comprehensive support for bidirectional text, right-to-left scripts, and CJK languages using Unicode font embedding and OpenType layout processing. It further enables professional print-ready design through advanced color modeling in CMYK, precise page dimensioning, and compliance with PD
pdfkit is a JavaScript PDF generation library used to programmatically create binary PDF documents in Node.js and browser environments. It functions as a vector graphics engine for rendering paths, shapes, gradients, and tiling patterns, and as a tool for producing rich text and tagged documents that follow international accessibility standards for screen reader compatibility. The library includes a security and encryption utility for applying document encryption and restricting user permissions regarding printing, copying, or editing. It also serves as a form and annotation tool, enabling th
pdf-lib is a JavaScript PDF manipulation library used for creating, modifying, and editing PDF documents programmatically. It functions as a cross-runtime tool compatible with Node, Browser, Deno, and mobile JavaScript environments. The library provides a programmatic interface for document editing and form generation. It supports building interactive PDF forms, populating existing fields with custom data, and flattening forms into static content. Its broader capabilities include generating new documents from scratch, rearranging or copying pages between files, and managing document metadata
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
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,
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
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
QuestPDF is a C# PDF generation library and layout engine used to create structured documents, reports, and invoices. It utilizes a fluent API and a component-based layout approach to convert code into high-fidelity PDF and XPS files. The library distinguishes itself with a dedicated layout debugger that provides real-time previews, hot-reload capabilities, and visual boundary tools to map rendered elements back to source code. It also functions as an accessibility tool, providing semantic tagging and navigational aids to ensure documents comply with international accessibility and archival s
This is a Go-based PDF library used for the programmatic generation of PDF documents without relying on external C dependencies. It functions as a document generator, layout engine, security tool, and vector graphics engine for creating files containing text, images, and geometric shapes. The project distinguishes itself through a cell-based layout engine that manages automatic text wrapping, page breaks, and structured positioning. It provides specialized capabilities for vector graphics, including the rendering of Bézier curves and polygons, as well as a security toolkit for applying passwo
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
qpdf is a collection of specialized utility tools for the structural transformation, metadata inspection, file optimization, and cryptographic management of PDF documents. It provides a command line tool for transforming and inspecting internal PDF structures, a structural transformer for reorganizing pages and merging documents, and an encryption engine for managing passwords and restrictions. The project distinguishes itself through a technical approach to document manipulation, utilizing an object-based structural representation to modify files as a graph of unique objects. It includes a m
DesktopEditors is an office suite application designed for creating and editing text documents, spreadsheets, and presentations across different operating systems. It serves as an OOXML compatible editor, ensuring that files are read and written according to Office Open XML standards for cross-platform document exchange. The suite functions as a collaborative document platform featuring real-time co-authoring, version tracking, and integrated communication tools. It also acts as an AI-powered document assistant and PDF editor, providing capabilities for content generation, automated spreadshe
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
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 project is a comprehensive collection of high-performance UI components and SDKs designed for building data-rich, cross-platform applications in Flutter. It provides a unified library of modular widgets and processing tools that enable developers to implement complex interface requirements, including advanced scheduling, tabular data management, and interactive data visualization, using a consistent declarative architecture. The library distinguishes itself through specialized, enterprise-grade capabilities that extend beyond standard UI elements. It includes a robust document processing
PDF-Guru is an AI-powered document processor and study material converter designed to transform textbooks, research papers, and multimedia content into structured flashcards for spaced repetition systems like Anki. It functions as a content pipeline that uses language models to extract key concepts and facts from unstructured documents to generate question-and-answer pairs, cloze deletions, and multiple-choice cards. The system distinguishes itself through a comprehensive PDF management suite and multi-format parsing. It provides advanced document utilities including optical character recogni
TCPDF is a PHP library for the programmatic generation of PDF documents, allowing developers to create files containing text, graphics, and forms directly from application code. It includes a typography engine that supports Unicode strings, bidirectional scripts, and the embedding of TrueType or OpenType fonts. The library provides specialized tools for producing documents that adhere to PDF/A, PDF/X, and PDF/UA standards for archiving, printing, and accessibility. It features a digital signing system that applies CMS signatures and RFC 3161 timestamps, supporting long-term validation through
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
pdfme is a schema-based PDF generation engine and dynamic document builder. It provides a system for producing PDF documents by merging predefined templates with dynamic input data across different runtime environments. The project includes a browser-based WYSIWYG PDF editor and template designer, allowing for the arrangement of elements via a drag-and-drop interface. It distinguishes itself through a plugin-based architecture that enables schema extensions and custom rendering logic for new content types. The capability surface covers dynamic content generation, including variable placehold
OfficeCLI is a headless office suite and automation tool designed for programmatically reading, editing, and generating Microsoft Office documents. It functions as an OOXML manipulation library and a document templating engine, providing a standalone binary that allows for the management of Word, Excel, and PowerPoint files without requiring a local installation of office software. The project distinguishes itself by exposing document operations as tools for AI agents via a JSON-RPC server and the Model Context Protocol. It enables advanced customization through raw XML manipulation using XPa
Pdfarranger is a PDF page organizer, document editor, image converter, and booklet generator. It provides a visual drag-and-drop interface to reorder, merge, split, and delete pages within PDF documents. The application includes specialized tools for creating booklet printing layouts and converting image files into PDF pages or exporting PDF pages as PNG and JPEG images. It allows for the modification of document metadata while preserving internal outlines and hyperlinks. The software covers a range of structural manipulations, including page rotation, resizing, cropping, and overlaying. It
Jasminum is a Zotero plugin designed for the management of Chinese bibliographic data. It serves as a metadata integration tool that automates the extraction of publication details from the China National Knowledge Infrastructure database and provides utilities for editing PDF outlines and bookmarks directly within the reference manager. The project focuses on Chinese academic citation standards, providing specialized tools to format and parse personal names to meet specific regional requirements. It also manages the integration of language-specific translators and citation styles sourced fro
Docxtemplater is an office document generation engine designed to automate the creation of personalized business documents, presentations, and spreadsheets. By manipulating the underlying XML structure of office files, the framework replaces placeholders within pre-designed templates with dynamic data, enabling the programmatic production of reports, invoices, and complex data-driven documents. The project distinguishes itself through a modular extension architecture that allows developers to integrate custom logic for handling images, charts, and specialized formatting. It supports advanced
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
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