我们的软件包含相当大的XPS文件(70个全彩页面),显示在System.Windows.Controls.DocumentViewer
中。该文件加载如下:
using System.Windows.Xps.Packaging;
var document = new XpsDocument(path, FileAccess.Read);
// The DocumentViewer binds to the property DocumentSource
this.DocumentSource = document.GetFixedDocumentSequence();
在一台非常强大的计算机(英特尔i7 4790,16GB内存)上浏览页面需要几秒钟。阅读文档是一个痛苦的过程。
由于我们仅使用内置函数来加载和显示XPS文件,因此我无法在代码方面考虑太多以提高性能。 (虽然欢迎提示!)但也许可以优化XPS文件本身。对于PDF文件,有很多优化器可以大大减少PDF文件的大小和复杂性。是否有任何可用于XPS文件的工具或技术?我也不确定是否加载了整个XPS文件,或者是否按需加载了部件。也许有一个选项可以做更多的agresive预加载甚至加载整个文档?