2010-04-06 19 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(); 
     } 

Quelqu'un peut-il m'aider s'il vous plaît. Son résultat est un document vide. Le mediaBytes est un document PDF.WPF et XPS: Vide Document Viewer

Répondre

0

Dans votre déclaration: Package package = Package.Open (ms, FileMode.Create) Vous définissez ms comme flux de destination du package, pas un flux source.

+0

Comment le définir comme source? – xscape

+0

Lorsque vous passez par le code, qu'est-ce que vous obtenez pour les fds? Avez-vous un objet ou null? – psabela

+0

Voir le code à ce lien: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/48043d53-f552-4869-8d93-8060ba2ab898 – psabela