How to: Load a PDF Document from a Stream

This example shows how to use the DocumentViewerControl.DocumentSource property to load a document from the stream. The stream is obtained from the assembly resources.

IMPORTANT

When you load a document, the input stream should not be closed until the control finishes using a document (PdfViewerControl.DetachStreamOnLoadComplete is set to false by default).

If you want to close the stream after a document is loaded into the PDF Viewer, set the PdfViewerControl.DetachStreamOnLoadComplete property to true. However, in this case the high rendering performance is not guaranteed.

using System.IO;
using System.Reflection;
using System.Windows;

namespace LoadPDFDocument
{

    public partial class MainWindow : Window
    {

        public MainWindow()
        {
            InitializeComponent();
            Stream stream = GetResourceStream("LoadPDFDocument.Demo.pdf");
            Viewer.DocumentSource = stream;
        }
        static Stream GetResourceStream(string resourceName)
        {
            return Assembly.GetExecutingAssembly().
            GetManifestResourceStream(resourceName);
        }
    }
}