首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从FixedDocumentSequence中获取XPS MemoryStream

从FixedDocumentSequence中获取XPS MemoryStream
EN

Stack Overflow用户
提问于 2020-05-31 16:46:54
回答 1查看 482关注 0票数 1

我使用Spire库将DocX文件转换为XPS文件,以便在Windows (WPF,C#)应用程序中显示文档的预览。

转换很好--我可以将生成的XPS文件保存到临时文件位置。然后,我可以用Packaging.XpsDocument打开XPS文件,并使用GetFixedDocumentSequence在DocumentViewer控件中显示DocumentViewer文档--到目前为止,这一切都非常简单。

为了加快处理速度,我非常想将XPS保存到MemoryStream中,然后从那里加载XPS。我尝试了以下几点:

代码语言:javascript
运行
复制
FileStream fileStream = File.OpenRead(FileName);
MemoryStream msXps = new MemoryStream();

Spire.Doc.Document doc = new Spire.Doc.Document(fileStream, Spire.Doc.FileFormat.Docx);
doc.SaveToStream(msXps, Spire.Doc.FileFormat.XPS);

var package = System.IO.Packaging.Package.Open(msXps, FileMode.Open, FileAccess.Read);

System.Windows.Xps.Packaging.XpsDocument xpsDoc = 
   new System.Windows.Xps.Packaging.XpsDocument(package);

return xpsDoc.GetFixedDocumentSequence();

我现在已经复制和粘贴了我作为测试函数的内容--为了这个目的,我已经删除了使用语句。我的示例编译并得到以下错误:

代码语言:javascript
运行
复制
System.Windows.Xps.XpsPackagingException: 'ReachPackaging_PackageUriNull'

看来,我也可以将压缩类型传递给XpsDocument ctor,并且可以传递一个Uri --但在本例中没有Uri -- Xps文档在内存中,没有任何物理存储支持。

当然,我可以继续使用一个临时文件,但是感觉应该没有必要去触摸磁盘来进行这种转换。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-01 13:28:40

您可以使用.NET XpsDocument和PdfSharp并将PackageUri添加到包中。

代码语言:javascript
运行
复制
using (MemoryStream memoryStream = new MemoryStream())
        {
            System.IO.Packaging.Package package = System.IO.Packaging.Package.Open(memoryStream, FileMode.OpenOrCreate);
            
            // ...

            var packageUri = new Uri("memorystream://myXps.xps");
            PackageStore.AddPackage(packageUri, package);
            XpsDocument doc = new XpsDocument(package, CompressionOption.SuperFast, packageUri.AbsoluteUri);

            XpsConverter.Convert(doc, filePath, 0);

            package.Close();

        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62119462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档