30 open-source projects similar to mpdf/mpdf, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Mpdf alternative.
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
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
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
pdfmake is a JavaScript PDF generation library and declarative document engine that transforms structured JavaScript objects into formatted PDF files. It functions as a layout engine capable of producing documents on both the client side within a web browser and on the server side using Node.js. The library utilizes a declarative approach to translate object-based document definitions into final PDFs. It distinguishes itself through a virtual layout engine that calculates element positions and page breaks and an inheritance-based style system that uses dictionaries to maintain visual consiste
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
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
Prawn is a Ruby library and document layout tool used for the programmatic generation of PDF files. It functions as a vector graphics engine that allows for the creation of portable documents containing formatted text, custom shapes, and organized page layouts. The library differentiates itself through a coordinate-based vector rendering system that supports multi-stop gradient fills, complex polygons, and layer-based blending. It provides a comprehensive typography system capable of embedding TrueType and OpenType fonts to support UTF-8 characters and right-to-left text for multilingual publ
Gutenberg is a CSS print formatting framework and web-to-PDF layout engine. It provides a system for managing stylesheets, element visibility, and structural layout rules to ensure web content maintains a consistent visual structure when converted to physical documents or PDF files. The project manages print-specific rendering through a stylesheet manager that filters out non-essential interface elements and prevents the automatic expansion of URLs. It includes utilities to enforce the rendering of background colors and images, which browsers typically strip during the printing process. The
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
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
This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.
HarfBuzz is a text shaping engine that converts Unicode text into correctly positioned glyphs for any writing system. It processes OpenType layout features, substitution rules, and positioning tables to produce shaped glyph sequences from font data, and also handles Apple Advanced Typography font tables. The library provides a stable C API that abstracts over platform-specific font access and rendering backends, and includes a font table caching layer to avoid redundant parsing during repeated shaping operations. The project implements script-specific shaping logic for complex writing systems
WeasyPrint is a Python-based library and layout engine that converts HTML and CSS into printable PDF documents. It functions as a CSS paged media engine, translating web technologies into formatted files for automated document generation. The project implements CSS standards for print and paginated documents, allowing for the design of layouts specifically for printed pages. This includes a specialized pagination engine used to control page breaks, headers, and footers to create professional PDF outputs. Its capability surface covers server-side PDF rendering and the programmatic conversion
Snappy is a PHP library that acts as a wrapper for the wkhtmltopdf and wkhtmltoimage binaries. It provides a utility suite for transforming HTML strings and remote URLs into PDF documents and image snapshots. The project enables the generation of downloadable or streamable PDFs and the creation of web page thumbnails. It supports the aggregation of multiple separate URLs into a single unified PDF document. Users can adjust document output through configuration settings for JavaScript execution, cookie handling, background removal, and custom stylesheet application.
This project provides a markdown penetration testing report template and a set of utilities for converting security documentation into formatted PDF reports. It serves as a security certification documentation template designed to meet professional reporting standards for certifications such as the OSCP. The toolkit includes a markdown to PDF report generator that uses static CSS styling for code block highlighting and a specialized exam submission packaging tool. This packaging utility compresses report files into archives and generates integrity hashes to ensure data consistency during subm
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,
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
Notepads is a minimalist text editor for Windows that renders its interface directly through native Win32 API calls, without relying on cross-platform toolkits. It is built around a single-instance document model where each open file is managed as an independent object with its own undo history and state, organized through a tab-based interface with keyboard-driven navigation. The editor distinguishes itself by supporting bidirectional text flow, allowing users to toggle paragraph direction between left-to-right and right-to-left. It also includes a real-time Markdown live preview that displa
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
LapisCV is a PDF document generator and resume builder designed to convert structured Markdown text into professional curriculum vitae. It functions as a rendering pipeline that transforms simple markup and variables into print-ready documents using a headless browser engine or LaTeX templates. The project provides a collection of professional themes and visual styles to customize the typography and branding of academic and professional resumes. It utilizes variable-based style injection to allow for the adjustment of fonts, colors, and margins based on content volume and user preferences. T
This project is a web-based resume builder and document designer used to create professional CVs. It integrates a visual editor with a template system and PDF generation to transform structured professional history into polished documents. The tool features a template-based editor with predefined professional design themes, allowing users to switch layouts and color schemes without losing content. It supports custom template creation and the embedding of industry-standard icon sets to personalize the visual presentation. The system manages document design through a reactive interface and sty
html2pdf.js is a client-side JavaScript library used to convert HTML elements and webpages into downloadable PDF documents. It operates entirely within the browser, removing the need for a backend server to generate files. The library employs a conversion pipeline that renders HTML to a canvas before generating the final PDF layout. This process includes the ability to preserve active hyperlinks by overlaying clickable regions on anchor tags and managing page breaks through specific style rules or selectors. Users can configure document appearance through settings for page margins, filenames
This project is a Laravel integration for the Dompdf rendering engine, providing a tool to convert HTML and CSS templates into PDF documents. It functions as a wrapper that allows Laravel applications to generate downloadable or streamable PDF files from web-standard content. The library includes specialized tools for producing PDF/A-3b compliant documents intended for long-term electronic preservation. This archival capability includes the ability to embed XML metadata and attachments, which supports electronic invoicing standards for digital business transactions. The software covers a bro
This library provides a rendering engine that translates declarative component trees into PDF files. It enables the construction of complex document structures using a component-based architecture, allowing developers to define layout, styling, and content programmatically. The system operates across both browser and server-side environments, offering a unified interface for generating structured documents. The project distinguishes itself through a sophisticated layout and rendering pipeline that handles the complexities of document creation. It utilizes a flexbox-based engine for element po
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
jsPDF is a JavaScript PDF generation library and client-side engine that produces documents directly on the user's device. It provides a scriptable interface for creating PDF files within web browsers and other JavaScript runtime environments without requiring a backend server. The library includes a tool for defining document dimensions, orientation, and measurement units to control page layout. It also functions as a Unicode font integrator, allowing for the embedding of custom font files to support diverse languages and special characters. Capability areas cover dynamic document automatio
Font-spider is a set of specialized tools for web font optimization. It functions as a font subsetter and compression utility that analyzes HTML content to extract only the characters used on a page, creating minimized font files to reduce page weight and improve loading speeds. The project includes a web font converter that generates files in multiple binary formats to ensure cross-browser compatibility for text rendering. It also provides a build tool plugin to integrate font analysis and subsetting directly into automated development pipelines. The toolset covers glyph-based font subsetti
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
Assemble is a static site generator and build pipeline system that compiles markdown, templates, and data into static HTML files. It functions as a markdown-to-HTML converter and a data format transformer capable of moving content between JSON, YAML, XML, PLIST, and CSV formats. The project features a pipeline-based build process where users can define ordered sequences of data transformations and file processing steps. It includes project scaffolding tools to bootstrap directory structures and configuration files from predefined boilerplates. The system manages content through collection-ba
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