printpdf is a Rust library for creating, reading, writing, and rendering PDF documents, providing developers with fine-grained control over document generation and layout. It supports a wide range of PDF features, including pages, layers, annotations, vector graphics, images, and embedded fonts, allowing the creation of complex and professional documents. The library emphasizes manual positioning of elements, giving developers precise control over layout and rendering rather than relying on high-level abstractions. It includes advanced typography capabilities such as character spacing, scaling, superscript, and subscript, as well as support for Unicode text. printpdf also offers optimization features like font subsetting to reduce file size, making generated PDFs more efficient. Experimental capabilities include rendering PDF pages to SVG and extracting text content, expanding its use cases beyond simple document generation.
Features
- Creation and rendering of PDF documents in Rust
- Support for vector graphics, images, and SVG embedding
- Advanced typography and Unicode text handling
- Manual layout control for precise positioning
- Font subsetting for file size optimization
- Experimental PDF-to-SVG rendering and text extraction