wpf - XPS 的意义何在?

标签 wpf format xps

当我阅读有关 WPF 的书籍时,我看到作者提到 XPS 就像它很重要一样。 Windows 还包括它的 XPS 查看器,我已经看到它被列为 Windows 的“功能”。

但为什么?重点是什么?谁他妈的使用它?我的理解是,XPS 基本上类似于 PDF、xhtml 或 ePub(只是 xhtml)……甚至是 Word 的 docx 格式。这些格式的许多功能是相同的。

与任何其他格式相比,它似乎没有任何重大优势。在我看来,作为一种从 RichTextBox 保存和加载 FlowDocument 的方法,xhtml 比 XPS 有用得多。我查看了多个关于在两者之间转换的博客。互联网上的大部分或全部富文本都是 (x)html。除此之外,我认为没有人只是为了发布他们的文档而使用它;首选PDF。 XPS 似乎只是 MS 制作并决定推出的一些随机格式。我一般喜欢 MS,但他们确实有这种事情的习惯。 MS 不能用 xhtml 做一个 api 吗?我想,这在很多情况下会更有用。

那么,使用 XPS 有什么意义,特别是与我提到的其他格式之一(或我没有提到的格式)相比?您是否曾经在您的程序中或其他方面使用过 XPS?

最佳答案

正如 U62 已经声明的那样,WPF 带有一个 DocumentViewer 控件,它使您能够查看 XPS 文档。 DocumentViewer 也有一些有用的功能,如打印、缩放、FitToPage 等...所以你不需要实现它或使用第三方工具。

一个小时前我刚刚使用 XPS 和 DocumentViewer 完成的是某种“地址标签打印预览”。允许用户从联系人列表中选择一些联系人,单击“打印预览”。这将打开一个新的 XAML 窗口,其中包含一个 DocumentViewer 控件和一个可以选择不同标签的 ListBox(例如,1 个工作表带有 12 个标签 [2 列,6 行],1 个工作表带有单个标签,其宽度和高度可以由用户定义) .
根据用户的选择,我在用户选择的布局中生成一个 XPS 文档,其中包含所选联系人的地址。如果例如用户选择了 4 个联系人并希望将它们打印在“SingleLabelSheet”上,我生成了 1 个 4 页的 XPS 文档,每页包含 1 个地址。然后我在 DocumentViewer 中显示 XPS,用户可以在我们的标签打印机上打印标签。

一旦我了解了 XPS API 的工作原理(至少是基础知识),就只需 2 个小时即可启动并运行它。

所以,基本上,我认为 XPS 是一种易于使用的 API,用于显示要动态生成的固定文档。但是我不会亲自将它们保存到我的 HDD 或以某种方式修改它们或您通常对文档所做的任何事情。

关于wpf - XPS 的意义何在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2192028/

相关文章:

wpf - 选择之后,调用CommonOpenFileDialog(选择目录)的WPF/Prism窗口失去焦点

c# - 应用程序启动时出现 ValidationError XamlParseException

assembly - intel机器码转汇编代码的问题

java - 使用 zxing/barcode4j 格式化 EAN8

WPF 转 XPS 转 PDF

c# - 有没有办法确定 Microsoft XPS Document Writer 在系统上是否可用且功能正常

wpf - 了解Powershell全局变量的用例

c# - 如何创建接受 <Run/> 文本的自定义控件?

Java Apache POI 在单元格中写入 double 值(德语 Excel)

c# - 如何验证 XPS 文档?