Document Toolkit 2 includes a number of new features that are not available in v1.x.
This topic contains the following sections:
Document Toolkit takes full advantage of the printing capabilities of Silverlight 4. The new DocumentPrinter control enables printing functionality and contains commands for code-less programming.
The new DocumentDataSource control provides an easy-to-use abstraction layer for loading, filtering and searching documents. Using the control it is no longer required to perform asynchronous low-level load operations using the XpsClient class.
DocumentDataSource manages page collections that can be bound to UI elements. The virtualized page collections enables on-demand page loading and ensures that only the pages that are visible are loaded. The data source control implements advanced page request queuing and load sharing and handles multiple virtualized page collections at the same time. Page and thumbnail collections are built-in.
Document Toolkit is capable of displaying fixed documents, having a fixed layout. At its core Document Toolkit renders XPS documents. The extensible architecture allows for adding support for other document types. Open source reader extensions exist for Microsoft Office, PDF, and other document types.
Full text search, previously available in Document Toolkit v1.x, now features an extensible search provider framework. By default text search is implemented using plain string comparison. An alternative regular expression search provider is also available. If both built-in text search providers are not sufficient, you can implement your own text search provider by implementing the ISearchProvider interface.
Document Toolkit 2 takes full advantage of commands. Controls such as DocumentDataSource and DocumentPrinter include command properties that can be bound to buttons. The FirstFloor.Documents.Controls.Commands namespaces contains a set of re-usable commands for performing document actions.
Expression Blend behaviors are used to add interactivity on document page and control level. Page behaviors define the interactive behavior of images and hyperlinks on a page. Control behaviors are used to define page adorners for rendering text selection and annotations, hyperlink navigation, and page virtualization. All behaviors can be replaced by custom written behaviors if the built-in behaviors are not suitable.