A Rust library for creating, reading, writing, and rendering PDF documents with support for graphics, fonts, and experimental HTML layout.
Printpdf is a comprehensive Rust library for programmatically generating, reading, and manipulating PDF documents. It provides a robust set of tools for developers needing precise control over PDF creation, from basic pages to advanced typography and graphics.
Rust developers who need to generate or modify PDFs programmatically with fine-grained control over layout, graphics, fonts, and compliance, such as those building reporting tools, document generators, or PDF processing pipelines.
Developers choose printpdf for its comprehensive feature set that includes both reading and writing PDFs, advanced typography and graphics controls, and a focus on standards compliance, all within a Rust-native API that prioritizes correctness and developer control.
Rust / WASM library for reading, writing and rendering PDF
Supports reading and writing pages, bookmarks, layers, and link annotations, providing full control over PDF documents from creation to editing.
Embeds fonts with Unicode, auto-subsets to minimize file size, and offers fine-grained control over character spacing, word spacing, superscript, and subscript as shown in the font examples.
Allows drawing lines, shapes, Bézier curves, and embedding SVGs with support for advanced features like overprint and blending modes, as demonstrated in the graphics code snippets.
Aims to generate PDFs that adhere to standards like PDF/X-3:2002, prioritizing correctness and compatibility for professional use cases.
The HTML-to-PDF feature is explicitly marked as experimental and a stub API that won't produce usable output, requiring manual positioning for now, limiting high-level layout automation.
Lacks support for gradients, patterns, file attachments, and other features listed as not supported, which could be critical for graphic-intensive or interactive PDFs.
Requires manual specification of graphics operations and positioning through a series of Op codes, making it complex and time-consuming compared to higher-level abstractions.
A cross-platform, safe, pure-Rust graphics API.
Sketch and take handwritten notes.
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Safe and rich Rust wrapper around the Vulkan API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.