30 open-source projects similar to knplabs/snappy, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Browsershot is a PHP library that serves as a Puppeteer browser wrapper to convert HTML and URLs into PDFs, images, or strings using a headless Chrome browser. It functions as a tool for transforming web content into visual media or extracting the final rendered DOM state of a page. The library enables the automation of browser rendering to generate PDFs and screenshots from web pages. It can retrieve the final rendered HTML markup after all client-side JavaScript execution is complete and can capture a full audit of network requests triggered during the page load process. The system include
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
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
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
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 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
This project is a browser rendering service and headless Chrome PDF generator built on Puppeteer. It functions as a backend tool for converting web pages and raw HTML content into PDF documents and screenshots. The service distinguishes itself through browser session control, allowing for the injection of session cookies and the configuration of navigation timeouts to handle authenticated pages. It also includes viewport-based layout scaling to adjust browser dimensions and device scale factors during the rendering process. The broader capability surface covers HTML content export and automa
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
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
HTML-Renderer is a managed C# library that processes HTML and CSS content to render desktop user interfaces, generate image files, and export PDF documents. Built entirely in managed code without external native dependencies, the library parses markup into a structured document object model, applies cascading style rules, and computes virtual box layouts directly in memory. The rendering pipeline features a direct bitmap rasterisation engine that draws styled layouts straight onto graphics targets and document canvases, along with a dedicated pagination engine that splits continuous layouts a
This library provides a framework for constructing professional PDF documents using declarative component syntax. It functions as a document engine that transforms component trees into structured files, allowing developers to define layouts, headers, footers, and margins through standard component structures rather than proprietary markup languages. The tool distinguishes itself by enabling server-side synthesis of dynamic data, which allows for the automated generation of personalized documents from live information sources. It maps web-standard styling and layout properties into the fixed-p
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
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
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
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
This project is a document generation tool designed to create professional resumes and academic curriculum vitae using the LaTeX typesetting system. It provides a structured framework that separates raw career data from visual formatting, allowing users to compile structured source files into high-quality PDF documents. The system utilizes a template-driven layout engine and macro-based typesetting to enforce consistent visual constraints and typography. By isolating content from styling, it ensures that career histories, skills, and education are presented in a clean, standardized format sui
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
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 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
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
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
ReLaXed is a document workflow and compilation system that transforms Markdown, JSON data, and HTML/CSS into print-ready PDF files. It utilizes a headless browser engine to render web technologies into final documents, serving as a build system for technical documentation and dynamic reports. The project features a pipeline that automates asset generation, allowing scripts to produce images, charts, and tables from raw data files during the build process. It supports the integration of LaTeX formulas for mathematical equations and converts CSV files into formatted HTML tables. The system inc
This project is an AI-powered resume builder and JSON-based document editor used for creating professional curriculum vitaes. It combines a template-driven design tool with a multi-format document exporter to convert digital resumes into high-definition PDF, image, Markdown, and raw data formats. The system utilizes JSON schemas to define and render structured resume components and layouts. It integrates artificial intelligence to generate, polish, and translate resume text, and provides quality analysis to identify profile weaknesses and suggest optimizations. The platform covers visual doc
This project is a digital book typesetter and PDF generator designed to transform Texinfo structured text into high-quality PDF documents. It functions as a compilation system that converts Texinfo source files into LaTeX code to enable professional academic typesetting. The system focuses on the precise control of typography and layout for technical manuals and books. It utilizes a source-driven document pipeline to manage font-family mapping and character metrics, ensuring visual consistency across the final publication. The toolset covers academic document typesetting and custom book publ
ConvertX is a web-based file conversion management platform designed to transform documents, images, and video files between various formats. It utilizes system-level binary orchestration to execute conversion tasks, leveraging background worker threads to handle concurrent, high-volume bulk processing without blocking the user interface. The platform distinguishes itself through a comprehensive security and access control framework, which includes multi-user account management, session-based token authentication, and role-based permissions. Users can secure their output files with passwords
html-to-image is a JavaScript library and client-side screenshot utility that transforms DOM elements into image formats such as PNG, JPEG, or SVG. It functions as a DOM-to-canvas renderer, using the browser's native rendering capabilities to convert document nodes into rasterized images or canvas elements. The library leverages SVG foreignObject serialization to capture live DOM content, which is then rasterized into pixel-based formats. It includes specialized exporters for generating binary Blobs or raw RGBA pixel data as typed arrays. The tool provides configurations for image appearance
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
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
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,
Satori is a library that converts HTML and CSS markup into rasterized images. It functions as a server-side rendering engine designed to transform web layouts into visual assets at runtime, ensuring consistent representation across different platforms and social media sharing services. The engine distinguishes itself by utilizing a cross-platform flexbox implementation to calculate element positions and dimensions, mirroring the behavior of modern web browsers without requiring a full browser engine. It processes document structures through a virtual tree traversal and employs a specialized p