在将GDI转换为XPS时,禁止Microsoft XPS Document Writer上的“另存为”对话框

时间:2009-05-01 07:47:06

标签: windows printing gdi xps

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

  

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

任何人都可以解释如何做并提供代码示例吗?

我遇到的主要问题是禁止弹出Microsoft XPS Document Writer的“另存为”对话框。我很厌恶像袁在他的职位上那样诉诸UI黑客。

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

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

如果您想避免使用XPS文档访问文件系统,Shahed Kahn会在Loading Xps From MemoryStream中提供示例代码。

答案 2 :(得分:0)

这对我有用:

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

据我所知,这是没有证件的。尝试一下,你就不会得到可怕的“另存为”对话框。而是获得由MXDW生成的干净的XPS文件(c:\ test.xps)。

答案 3 :(得分:0)

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

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

有关详细信息,请参阅此链接:https://kibitzercz.blogspot.in/2012/01/building-and-using-xpsdrvsmpl-under.html