Document Viewer supports wide range of document formats. Once the document is converted to a special web-friendly format on first-view (done automatically in the background and the result is cached), subsequent views will be instant. Document Viewer is very fast because it does not load the whole document at once, it smartly loads only the pages you are currently viewing.

A document is loaded by simply setting DocumentViewer.Document property. This is usually the path to the document to load. Both physical (eg. c:\document.docx) and virtual (eg. /document.docx or ~/document.docx) paths are supported.
You can also directly load a document from a URL, Database, Stream, Memory, AzureBlob, AmazonS3 etc. by specifying one of the built-in file providers: FileSystemFileProvider, UrlFileProvider, StreamFileProvider, MemoryFileProvider, DatabaseFileProvider, AssemblyResourceFileProvider, TemporaryFileProvider.

Base class FileProvider can be implemented to provide a custom way of reading and/or writing files.