awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Python PDF library

Ranking updated Jul 13, 2026

For a python library for manipulating pdf files, the strongest matches are py-pdf/pypdf2 (This library provides a comprehensive set of tools for), mstamy2/pypdf2 (This library provides a comprehensive suite of tools for) and py-pdf/pypdf (This library is a comprehensive, industry-standard tool for Python). pymupdf/pymupdf and euske/pdfminer round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

We curate open-source GitHub repositories matching “best python pdf library”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.

Python PDF library

Find the best repos with AI.We'll search the best matching repositories with AI.
  • py-pdf/pypdf2py-pdf avatar

    py-pdf/PyPDF2

    10,094View on GitHub↗

    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 a comprehensive set of tools for PDF manipulation, text extraction, and security management, making it a standard choice for programmatic document processing in Python.

    PythonPDF Encryptions and DecryptionsPDF Manipulation LibrariesPDF Parsers
    View on GitHub↗10,094
  • mstamy2/pypdf2mstamy2 avatar

    mstamy2/PyPDF2

    10,064View on GitHub↗

    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 a comprehensive suite of tools for reading, writing, splitting, merging, and encrypting PDF documents, making it a standard choice for programmatic PDF manipulation in Python.

    PythonPDF Manipulation UtilitiesPDF Permission ControlsPDF Security and Signing
    View on GitHub↗10,064
  • py-pdf/pypdfpy-pdf avatar

    py-pdf/pypdf

    9,818View on GitHub↗

    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 is a comprehensive, industry-standard tool for Python that natively supports PDF generation, manipulation, text extraction, and form field management, making it a perfect fit for your requirements.

    PythonPDF Manipulation UtilitiesPDF Permission ControlsPDF Security and Signing
    View on GitHub↗9,818
  • pymupdf/pymupdfpymupdf avatar

    pymupdf/PyMuPDF

    9,086View on GitHub↗

    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, comprehensive library that provides extensive capabilities for PDF generation, text extraction, manipulation, and security, making it a flagship tool for programmatic document processing in Python.

    PythonPDF Form FillingPDF Manipulation UtilitiesPDF Parsers
    View on GitHub↗9,086
  • euske/pdfminereuske avatar

    euske/pdfminer

    5,290View on GitHub↗

    pdfminer is a Python library for parsing PDF files to extract text, analyze layouts, decrypt content, and convert documents into HTML or XML formats. It functions as a text extraction engine and layout analysis tool designed to retrieve characters and words while preserving the structural organization of the original document. The project provides utilities for converting PDF content into structured HTML or XML to maintain visual layout and a decryption tool for unlocking restricted documents using encryption keys. It identifies the positions and groupings of text elements to reconstruct page

    This library is a specialized tool for parsing, analyzing, and extracting text and layout data from PDFs, though it lacks the document generation and form-filling capabilities required for a comprehensive PDF manipulation suite.

    PythonPDF Encryptions and DecryptionsPDF ParsersPDF Text Extraction
    View on GitHub↗5,290
  • jsvine/pdfplumberjsvine avatar

    jsvine/pdfplumber

    9,732View on GitHub↗

    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 library is a specialized tool for PDF data extraction and layout analysis, though it focuses on reading and parsing rather than document generation or form filling.

    PythonPDF ParsersPDF Libraries
    View on GitHub↗9,732
  • pdfminer/pdfminer.sixpdfminer avatar

    pdfminer/pdfminer.six

    6,906View on GitHub↗

    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, extracting text, and analyzing the layout of PDF documents, though it lacks the capability to generate or create new PDF files from scratch.

    PythonPDF ParsersPDF Text Extraction
    View on GitHub↗6,906
  • foliojs/pdfkitfoliojs avatar

    foliojs/pdfkit

    10,667View on GitHub↗

    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

    This is a JavaScript library for PDF generation and manipulation, which does not meet the requirement for a Python-based tool.

    JavaScriptPDF Generation LibrariesPDF Permission ControlsPDF Generation
    View on GitHub↗10,667
  • librepdf/openpdfLibrePDF avatar

    LibrePDF/OpenPDF

    4,293View on GitHub↗

    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 is a Java library rather than a Python library, making it a tool for a different ecosystem despite offering the requested PDF manipulation and generation capabilities.

    JavaPDF Encryptions and DecryptionsPDF Security and SigningPDF Text Extraction
    View on GitHub↗4,293
  • pdfcpu/pdfcpupdfcpu avatar

    pdfcpu/pdfcpu

    8,675View on GitHub↗

    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 Go-based PDF processing toolkit rather than a Python library, making it a tool you would need to wrap or call externally rather than integrate directly into a Python project.

    GoPDF Manipulation UtilitiesPDF Security and SigningPDF Processing Libraries
    View on GitHub↗8,675
  • hopding/pdf-libHopding avatar

    Hopding/pdf-lib

    8,515View on GitHub↗

    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 is a JavaScript library for PDF manipulation, which does not meet the requirement for a Python-based tool for your project.

    TypeScriptPDF Form FillingPDF Manipulation Libraries
    View on GitHub↗8,515
  • torakiki/pdfsamtorakiki avatar

    torakiki/pdfsam

    4,457View on GitHub↗

    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 standalone Java-based desktop application for PDF management rather than a Python library for programmatic document manipulation.

    JavaPDF Manipulation UtilitiesPDF Security and Signing
    View on GitHub↗4,457
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
py-pdf/pypdf210.1KPythonNOASSERTIONJun 25, 2026
mstamy2/pypdf210.1KPythonNOASSERTIONJun 16, 2026
py-pdf/pypdf9.8KPythonotherFeb 19, 2026
pymupdf/pymupdf9.1KPythonagpl-3.0Feb 18, 2026
euske/pdfminer5.3KPythonMITDec 7, 2022
jsvine/pdfplumber9.7KPythonmitJan 28, 2026
pdfminer/pdfminer.six6.9KPythonmitFeb 13, 2026
foliojs/pdfkit10.7KJavaScriptMITJun 20, 2026
librepdf/openpdf4.3KJavaNOASSERTIONJun 3, 2026
pdfcpu/pdfcpu8.7KGoApache-2.0Jun 15, 2026

Related searches

  • a python library for manipulating pdf files
  • an open source tool for editing PDFs
  • a library for rendering PDFs on Android
  • a javascript library for generating pdf files
  • a library for generating pdfs in C#
  • a PDF generation library for Java applications
  • an open source tool for editing PDFs
  • an open source editor for PDF documents