我试图用DocumentViewer创建xps文件:
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "MyReport"; // Default file name
dlg.DefaultExt = ".xps"; // Default file extension
dlg.Filter = "XPS Documents (.xps)|*.xps"; // Filter files by extension
// Show save file dialog box
Nullable<bool> result = dlg.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dlg.FileName;
FixedDocument doc = (FixedDocument)documentViewer.Document;
XpsDocument xpsd = new XpsDocument(filename, FileAccess.ReadWrite);
System.Windows.Xps.XpsDocumentWriter xw = XpsDocument.CreateXpsDocumentWriter(xpsd);
xw.Write(doc);
xpsd.Close();
}
但是会在xw.Write(doc)
中抛出以下异常:
BitmapMetadata在BitmapImage上不可用
无论哪种方式,它都会创建一个XPS文件,但在其中我看不到任何内容(当然),但以下消息:
此页面无法显示
1)我不明白这个位图的来源......
2)我该怎么办这个例外?
感谢。