Project Description
Smart Document Framework offers an alternative to the FlowDocument which provides a simpler rendering engine and allows for better pagination.
Introduction
The
Smart Document Framework (SDF) introduces a new set of classes that support the definition, rendering and pagination of documents using WPF classes.
It offers, by design, classes that are very similar to those included in the
System.Windows.Documents namespace. This is because users are expected to understand markup document languages like FlowDocuments and HTML, and use keywords like
Paragraph, Section, Span, LineBreak, etc.
So,
why define an entire new framework instead of extending one that already exists, namely the FlowDocument one?
Because, we were trying to do just that for the
SmartPaginator project when we realised that we got into situations where our controls needed/wanted to render the same XAML markup differently than how it renders using the .NET Framework classes. So, creating a whole new namespace and requiring users to
convert a FlowDocument into a SmartDocument felt like a safer alternative as it makes it very clear that each document supports different features and renders using different engines.