【问题标题】:Suppressing the Save As dialog on Microsoft XPS Document Writer when converting GDI To XPS将 GDI 转换为 XPS 时抑制 Microsoft XPS 文档编写器上的“另存为”对话框
【发布时间】:2010-10-23 01:43:33
【问题描述】:

在他的博文Printing documents to Microsoft XPS Document Writer without user interaction冯远说

如果您使用自己的应用程序进行打印,很容易将 MXDW 指定为打印机驱动程序,并为要保存到的 XPS 文档提供文件名

谁能解释如何做到这一点并提供代码示例?

我遇到的主要问题是抑制 Microsoft XPS 文档编写器弹出的“另存为”对话框。我讨厌像袁在他的帖子中那样诉诸 UI hacking。

目前,我的应用程序对用户想要使用的任何打印机的设备上下文进行 GDI 绘图调用。我可以在 XPS Document Writer 上进行这些调用,但是当需要完成打印时,XPS Writer 会弹出另存为对话框。

【问题讨论】:

    标签: windows printing gdi xps


    【解决方案1】:

    确实是同一位作者提供了答案Printing to Microsoft XPS Document Writer without showing File Save Dialog Box。解决方案是使用 Microsoft XPS Document Writer 打印机打印到文件。

    【讨论】:

      【解决方案2】:

      如果您想避免 XPS 文档损坏文件系统,Shahed Kahn 在Loading Xps From MemoryStream 中提供了示例代码。

      【讨论】:

        【解决方案3】:

        这对我有用:

          With Me.PrintDocument
             With .PrinterSettings
                .PrinterName = "Microsoft XPS Document Writer"
                .PrintToFile = True
                .PrintFileName = "c:\test.xps"
             End With
            .Print()
          End With
        

        据我所知,这是无证的。试一试,您将不会看到可怕的“另存为”对话框。相反,您会得到一个由 MXDW (c:\test.xps) 生成的干净 XPS 文件。

        【讨论】:

          【解决方案4】:

          只需删除并重新安装 Microsoft XPS Document Writer,在重新安装期间按照以下步骤操作..

          转到开始 - 控制面板 - 添加新打印机。然后选择本地打印机和创建新端口。在组合框中选择本地端口。将出现询问端口名称的对话框。为了让我们的 XPS 驱动程序在不询问用户位置的情况下打印到指定文件,请为此输出文件写入完整路径。该文件目前不需要存在(例如 c:\mydriveroutput.xps)。

          详情见此链接:https://kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl-under.html

          【讨论】:

            猜你喜欢
            • 2018-05-02
            • 2011-01-18
            • 2016-09-08
            • 1970-01-01
            • 2012-10-09
            • 2014-04-16
            • 1970-01-01
            • 2010-10-04
            • 2014-10-18
            相关资源
            最近更新 更多