1

基本上,我在包含 XPSDocument 查看器作为资源的 WPF 应用程序中嵌入了一个 xps 文件。

在加载应用程序时,我只希望文档查看器显示该嵌入式资源。

public Page1()
{
  InitializeComponent();
  XpsDocument doc = new XpsDocument(SmartsysBrowser.Properties.Resources.test1, FileAccess.Read);
  docViewer.Document = doc.GetFixedDocumentSequence();
  docViewer.Focus();
}

但是这个命令没有通过集合

  XpsDocument doc = new XpsDocument(SmartsysBrowser.Properties.Resources.test1, FileAccess.Read);

我知道我需要输入 XPS 文档的文件路径,但由于它是作为资源嵌入的,怎么做?

非常感谢大家。

背景:我应该制作一个显示机密文档的应用程序,并且由于限制制作/打印/传播它的副本也很重要,因此我决定使用 ClickOnce WPF XBAP 应用程序。我的推理是,一旦我从 Web 服务器中删除应用程序,ClickOnce 应用程序的所有副本都会变得无用。此外,这似乎是保护机密文件的最便宜和最可行的方法。请随时提出替代方案。我总是热衷于向大家学习。

4

1 回答 1

1

当您使用嵌入式资源(即非 WPF 资源)时,您可以使用 Assembly.GetManifestResourceStream 从资源名称中获取 Stream,然后使用静态 Package.Open 获取 Package 实例,然后您可以使用其他 XpsDocument接受包作为参数的构造函数。

于 2010-02-24T17:22:31.120 回答