Windows8通过v4驱动程序模型对OpenXPS的支持(绕过XPS打印)

电脑杂谈  发布时间:2021-06-12 03:01:20  来源:网络整理

OpenXPS 驱动支持本文内容

OpenXPS 是一种用于文档的开放 XML 纸张规范格式,基于 Ecma 国际标准规范。

有关此规范的最新信息,请参阅 OPEN XML Paper Specification。

Windows 8 全面支持 OpenXPS,并持续支持现有的 Microsoft XPS 格式。本主题重点介绍通过 v4 驱动程序模型对 OpenXPS 的支持。有关与 Windows 应用程序开发人员相关的 OpenXPS 支持,请参阅应用程序支持 OpenXPS 打印。

支持的 OpenXPS 解决方案

开发了 Windows 打印路径,以确保提交的 XPS 格式与支持的目标打印驱动程序格式匹配,格式将根据需要进行转换。 Windows 还提供用于查询打印驱动程序的 API,以便应用程序可以提供兼容元素并避免打印系统内的任何其他转换。

打印驱动程序可以使用其清单来指示它是否支持 Microsoft XPS、Open XPS 或两者。过滤器可以在打印过滤器管道中随 Microsoft XPS 或 OpenXPS 一起提供,使用现有的流和对象模型 (OM) 接口——驱动程序不需要使用新接口来支持 OpenXPS。提供给过滤器的格式取决于驱动程序支持的格式或应用程序提供的格式。

Microsoft XPS 文档编写器 (MXDW) 已更新,允许 MXDW 从任何 Windows 桌面应用程序导出 Microsoft XPS 或 OpenXPS。同样,Windows 8 中的 Microsoft XPS 查看器和阅读器应用程序可以打开这两种 XPS 格式。如果需要,用户可以从 XPS 查看器打印到 MXDW 以转换格式。

不受支持的 OpenXPS 计划

与 OpenXPS 一起使用时,某些旧功能可能不受支持或提供降级的体验。

不支持:不支持将 OpenXPS 文件直接发送到后台处理程序(绕过 XPS 打印 API)。这样做会导致以下功能问题:

xps驱动程序是什么_蜂鸣器驱动c程序_dell xps m1330驱动

请注意,没有计划支持此项目。

不推荐:不推荐将 OpenXPS 流直接从应用程序发送到 XPS 打印 API。例如,不要将 OpenXPS 流直接发送到 StartXPSPrintJob 方法。如果这样做,从一种形式的 XPS 转换为另一种流的结果可能会非常昂贵,从而降低性能。

相反,使用 IPrintDocumentPackageTarget 将打印作业作为 XPS OM 提交以避免性能下降。

不推荐:将 XPS 假脱机文件直接发送到假脱机程序。如果这样做,打印系统将找不到打印路径 Api 添加的所需元数据,假设格式为 MSXPS,并会尝试将其转换为 OpenXPS。如果直接发送到假脱机程序的假脱机文件是 OpenXPS 格式的文件,则打印过滤器管道尝试将其“转换”为 OpenXPS 将给出未定义的结果。如果发送到后台处理程序的文件是 MSXPS 格式,并且驱动程序是 OpenXPS-only 驱动程序,则打印过滤器管道到 OpenXPS 的转换将成功。但是这种延迟的相变会导致打印系统性能的严重损失。

对应用开发者的影响

有关 OpenXPS 支持对 Windows 8 的影响的信息,请参阅 OpenXPS 打印的应用程序支持。

对驱动程序开发人员的影响

以下是在 v4 打印驱动程序中启用 OpenXPS 的基本步骤:

对于给定的流,并使用适当的对象接口,客户端可以使用 OpenXPS 格式将数据传输到打印过滤器管道中的过滤器。为了传输数据流,客户端将使用 IID _ IPrintReadStream 和 iid _ IPrintWriteStream 接口。要将数据传输到 OM 组件,客户端将使用 IID _ IXpsDocumentProvider 和 iid _ IXpsDocumentConsumer 接口。对于声明支持 OpenXPS 的驱动程序,您必须确保从管道管理器接收到此格式时,提供的打印过滤器可以正确处理 OpenXPS 格式。

驱动列表:DriverRender 部分。在驱动程序安装过程中,安装过程将检查清单的 DriverRender 部分,以查看 XpsFormat 条目是否包含 OpenXPS。 XpsFormat 项可以包括 Microsoft XPS 的 XPS() 和 OpenXPS 以表示双重支持。这两种格式在 XpsFormat 项中列出的顺序决定了驱动程序的首选格式。

以下是如何更新 DriverRender 部分的一些示例。

蜂鸣器驱动c程序_dell xps m1330驱动_xps驱动程序是什么

仅表示支持 OpenXPS:

[DriverRender]
XpsFormat = OpenXPS

仅表示支持 MSXPS:

[DriverRender]
XpsFormat = XPS

通过 OpenXPS 首选项表明支持这两种格式:

[DriverRender]
XpsFormat = OpenXPS,XPS

表示支持这两种格式,并带有 MSXPS 首选项:

[DriverRender]
XpsFormat = XPS,OpenXPS

驱动程序开发人员确定其 V4 打印驱动程序的首选格式,此决定基于驱动程序的设计目的。例如,可以开发打印驱动程序来为高保真图像提供 JPEG XR 支持。

打印系统根据列表中的 DriverRender 信息做出各种决定。以下是这些决定的一些示例:

驱动程序列表:FileSave 部分。 V4 打印驱动程序列表的 FileSave 部分为端口使用的 PORTPROMPT:文件保存对话框提供了扩展。 (PORTPROMPT:应该在 Windows 8.1 中使用,因为 PORTPROMPT:允许用户访问他们有权访问的所有文件位置,即使应用程序在低权限模式下运行。) FileSave 部分中的条目被索引与 DriverRender 部分中的条目相关联。

dell xps m1330驱动_xps驱动程序是什么_蜂鸣器驱动c程序

示例:

[FileSave]
xps=0
oxps=0
[DriverRender]
XpsFormat=XPS,OpenXPS

这将确保当用户向此驱动程序发送打印作业,并且端口设置为 PORTPROMPT: 时,“文件保存”对话框将在对话框中将 Xps 和 OpenXPS 显示为“文件类型”选项,并分别使用 .xps 或 .oxps 作为文件扩展名。

有关清单“文件保存”部分中其他选项的更多信息,请参阅 V4 驱动程序列表。

相关主题

OpenXPS 打印应用程序支持

开放 XML 论文规范

V4 驱动列表

这个页面有帮助吗?

是否

谢谢。

主题


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-382191-1.html

    相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...