【问题标题】:Need help with modifying PrintTickets through XML在通过 XML 修改 PrintTickets 方面需要帮助
【发布时间】:2013-11-01 10:43:11
【问题描述】:

通过 System.Printing 框架(主要类是 PrintQueue、PrintTicket 和 PrinterCapabilities)做一些控制打印的工作。就像我最近一直在做的大多数事情一样,关于它的信息太少了。我希望在这个问题中收集一些好的信息来帮助充实这个主题。

PrintTickets 让开发人员能够很好地处理最常见的打印配置设置。那是幸运的,因为我不想用旧的 DEVMODE 方式来做(你可以将 DEVMODE 二进制流与 PrintTickets 相互转换,这很方便!)。

问题在于有很多打印机,每一个都有独特的配置。这些不属于为 PrintTickets 创建的漂亮属性和枚举。如果您必须配置设置超出此界面的打印机,则必须将您的 PrintTicket 序列化为 xml 并在那里进行修改。

当您使用 PrintTicket xml 时,您的生活受三种或更多模式支配:两种由 Microsoft 提供,一种或多种由打印机制造商提供。两个 MS 架构是

我在处理原始 xml 时遇到的第一个问题是我找不到任何涵盖这些模式的 XSD。

有人知道我可以从哪里获得这些架构的 XSD 吗?

我遇到的第二个大问题是将用户输入映射到 PrintTicket xml。最理想的情况是,我希望获取用户的输入,比如“Tray 3”,然后通过 PrintCapabilities 进行映射,以确定为该功能设置的选项的值。打印功能的文档有些不清楚,我担心如果我做得不对,它会充满边缘情况。

谁有修改 PrintTicket XML 的好例子吗?

这是本 wiki 的一个很好的起点...


问题 1 的更新:

向我从 2005 年的 WinHEC PPT 中获得的地址发送了一封电子邮件,并得到了 Windows 体验 - 文档和打印的项目经理 Justin Hutchings 的实际回复(很酷,不是吗?):

会,

打印架构命名空间没有 XSD。您应该查看 Print Schema Specification 1.0 并使用它来验证您的一致性。 http://www.microsoft.com/whdc/xps/downloads.mspx

我们还在 PrintVerifier 中内置了 PrintSchema 验证。有关获取和配置打印验证程序的更多信息,请访问以下网址:

【问题讨论】:

    标签: .net xsd system.printing


    【解决方案1】:

    查看有关选择托盘的主题:

    http://social.msdn.microsoft.com/forums/en-US/windowsxps/thread/f5859148-26f1-4e89-949c-180413bcc898/

    CAnderson 和 Jo0815 正在询问 PrintQueue 的 PrintCapabilities 以询问与输入箱相关的功能。之后,他们将 DefaultPrintTicket 中的 XML 加载到 XMLDocument 中以插入节点以指定 bin,将 XMLDocument 写入流,然后从该流构建新的 PrintTicket。 (与Procedure for Creating a WholePrintTicket Class 中描述的连接然后删除重复项的过程相比,这可能是更直接的方法。)

    相同的技术可以应用于标准 PrintTicket 未公开的其他功能。

    【讨论】:

    • 我认为这是我能得到的最好的了。当 PrintCapabilities 不可用或它们可能发生变化时,我很想看到一些这样做的例子。哦,好吧......获胜者是YUO。
    【解决方案2】:

    您正在尝试做的事情似乎在以下位置以大纲形式描述:

    http://msdn.microsoft.com/en-us/library/aa970573.aspx#ExtendingthePrintTicketClass

    【讨论】:

    • 不。我不是要创建新的和不同类型的打印类;我正试图告诉假设的打印机打印到纸盒 3。
    【解决方案3】:

    Microsoft 网站上现在有一个打印模式规范(日期为 2013 年 7 月 28 日)

    http://msdn.microsoft.com/en-us/windows/hardware/gg463385.aspx

    这有 300 多个规范,还包括 http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework 的架构

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      相关资源
      最近更新 更多