在他的博客文章中,将文档打印到Microsoft XPS Document Writer中,无需用户交互。冯远说
如果您从自己的应用程序进行打印,则可以很容易地将MXDW指定为打印机驱动程序,并提供要保存到XPS文档的文件名
任何人都可以解释如何做到这一点,并提供一个代码示例?
我遇到的主要问题是压缩Microsoft XPS Document Writerpopup的另存为对话框。 我不喜欢用黑客行为,因为袁在他的职位。
目前,我的应用程序使GDI在设备上下文中绘制用户想要使用的打印机。 我可以在XPS Document Writer上进行这些调用,但是当完成打印时,XPS Writer将popup“另存为”对话框。
事实上,同一作者提供了答案打印到Microsoft XPS文档编写器,而不显示文件保存对话框 。 解决方案是使用Microsoft XPS Document Writer打印机打印到文件。
如果你想避免使用你的XPS文档碰到文件系统,Shahed Kahn提供了从MemoryStream中加载Xps的示例代码。
以下是对我有用的东西:
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文件。