Learn Scryber, and the Core library
On this page
About Scryber
Scryber.Core is a powerful, open-source .NET library for generating professional PDF documents simply from HTML templates. It include CSS styling and (handlebar-esque) binding to data, enabling developers to quickly create flexible, dynamic, data-driven documents with ease.
Check out the Quick Start to jump straight in and get to know some of the capabilities
Key Features
- HTML/CSS-Based Templating: Define your document structure using familiar HTML and CSS, making it easy to design and maintain templates
- Data Binding: Bind data from your application directly into your documents with powerful expression support
- Dynamic Styling: Use calc, relative units and bound data to dynamically alter reports and documents
- Multi-page Support: Create complex, multi-page documents with headers, footers, and page breaks
- Rich Content: Include images, SVG graphics, tables, lists, and charts
- Font Support: Use system fonts, embedded fonts, or remote fonts like Google Fonts
- Content Embedding: Inject dynamic SVG graphics, complex rich content and document attachments at runtime
- Flexible Output: Generate PDFs in-memory, save to disk, or stream to HTTP responses
- Cross-platform: Run on Windows, macOS, iOS, and Linux with .NET
- WASM Support: Full support for asyncronous operation including pure client side execution
The documentation is IN REVIEW phase. The reference section will be more accurate than the learing guides as it is rolled out.
If you do discover an inconsistency whilst trying to do something. Then check the reference section, if it’s still incorrect then please do reach out via the GitHub issue and discussion tabs.
Getting Around
This documentation is meant to support your use of the library. The navigation on the left (or top) will allow you to move around the docs without visiting every page in turn.
Most pages contain a table of contents for that page, itself, and then further links so you can dive deeper of move to a related subject.
Finally if you know what you are looking for, then the search is available at the top.
Learning the Scryber.Core library
The first section is for the Learing guides which covers the capabilities the library in general terms.
There are 8 individual modules
- Getting Started - This comprehensive guide will take you from complete beginner to confident PDF document creator.
- Data Binding and Expressions - Transform static templates into dynamic, data-driven PDF documents with Scryber’s powerful data binding system.
- Styling and Appearance - Master CSS styling to create beautiful, professional-looking PDF documents with Scryber.Core.
- Layout and Positioning - Master page-based layout, positioning, and document structure to create professional multi-page PDF documents.
- Tyography and Fonts - Use the advanced typography and font features, including font properties, custom fonts, using remote fonts sucha as Google fonts and FontAwesome text spacing, alignment, and advanced typographic techniques for professional PDF documents.
- Content Components - Start adding images, SVG graphics, lists, tables, and embedded content to create rich, data-driven PDF documents.
- Document Configuration - Configure logging, security, conformance, and optimization for production-ready PDF documents.
- Practical Applications - Learn through complete, real-world examples - from invoices to reports, certificates to catalogs. Highlighting specific features.
Reference section
The reference section is split into 7 sections covering each of the major components with examples of usage, and samples.
- HTML Elements - The HTML tags such as
<html>, or<div>within a template or referernced source give the structure and content to your document - HTML Attributes - This section details all the attributes that the core library supports suc as
@idand@class, along with the supported values for the attribute. - [CSS Selectors][reference/cssselectors/] - This sections details all the supported (and not supported) selectors in the library (
#id,.class), along with at rules such as@mediaand@font-face. - CSS Properties - Styling properties such as
font-style: italic;orbackground-image: var(model.logo);are defined within selectors to be applied to matching content tags, or drawing elements. - Binding Operators and Functions - Covers all data binding structures available in Scryber templates, including Handlebars helpers, operators like (
+,%and??), and expression functions likesubstringandcount. - SVG Elements - This section details all the SVG Drawing elements that the core library supports such as
path,markerandimage, along with the available (and unavailable attributes) that the tag supports. - SVG Attributes - This section details all the attributes that the core library supports (
viewport,cx,cyetc.), along with the supported values for the attribute, and also elements they can be used on.