using System.IO; using System.IO.Packaging; using System.Windows; using System.Windows.Documents; using System.Windows.Xps.Packaging; using System.Windows.Xps.Serialization; namespace WpfApp3 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } public static void SaveAsXps(string path, FlowDocument document) { using (var package = Package.Open(path, FileMode.Create)) { using (var xpsDocument = new XpsDocument(package, System.IO.Packaging.CompressionOption.Maximum)) { var xpsSerializationManager = new XpsSerializationManager(new XpsPackagingPolicy(xpsDocument), false); var documentPaginator = ((IDocumentPaginatorSource)document).DocumentPaginator; xpsSerializationManager.SaveAsXaml(documentPaginator); } } } private void Button_Click(object sender, RoutedEventArgs e) { { string sFileName = @"C:\...\printPreview.xps"; XpsDocument doc = new XpsDocument(sFileName, System.IO.FileAccess.Read); viewer.Document = doc.GetFixedDocumentSequence(); return; } } private void Button_Click_1(object sender, RoutedEventArgs e) { SaveAsXps(@"C:\...\printPreview.xps", flowDocument); } } }