在他的博客文章Printing documents to Microsoft XPS Document Writer without user interaction中,冯远说
如果您使用自己的应用程序进行打印,则可以轻松将MXDW指定为打印机驱动程序,并为要保存到的XPS文档提供文件名
任何人都可以解释如何做并提供代码示例吗?
我遇到的主要问题是禁止弹出Microsoft XPS Document Writer的“另存为”对话框。我很厌恶像袁在他的职位上那样诉诸UI黑客。
目前,我的应用程序在设备上下文中对用户想要使用的打印机进行GDI绘图调用。我可以在XPS Document Writer上调用这些调用,但是当它完成打印时,XPS Writer会弹出另存为对话框。
答案 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