2010-04-06 131 views
0
 byte[] mediaBytes = Convert.FromBase64String("<<strings>>"); 

     XpsDocument doc; 

     ms = new MemoryStream(mediaBytes, 0, mediaBytes.Length); 

     Uri DocumentUri = new Uri("pack://document.xps"); 

     using (Package package = Package.Open(ms, FileMode.Create)) 
     { 
      PackageStore.AddPackage(DocumentUri, package); 
      doc = new XpsDocument(package, CompressionOption.Maximum, DocumentUri.AbsoluteUri); 
      FixedDocumentSequence fds = doc.GetFixedDocumentSequence(); 
      documentViewer.Document = fds as IDocumentPaginatorSource; 
      PackageStore.RemovePackage(DocumentUri); 
      doc.Close(); 
     } 

任何人都可以请帮助我。其结果是一个空文件。 mediaBytes是一个PDF文档。WPF和XPS:空文档查看器

回答

0

在您的声明中:Package package = Package.Open(ms,FileMode.Create) 您正在将ms设置为程序包目标流,而不是源流。

+0

如何将其设置为源? – xscape 2010-04-06 12:23:16

+0

当你通过代码时,你会得到什么?你得到一个对象或null? – psabela 2010-04-07 13:15:17

+0

请参阅此链接的代码:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/48043d53-f552-4869-8d93-8060ba2ab898 – psabela 2010-04-07 14:52:51