【发布时间】:2014-03-22 00:00:12
【问题描述】:
如何在不使用“文件另存为”对话框的情况下通过打印到虚拟打印机来保存 xps 文件?当我调用 print 方法时,会自动弹出一个对话框,要求用户指定文件名和路径。这仅在创建全新文件时有效;如果我尝试覆盖现有文件,它会引发错误“您无权写入该文件......”。无论如何,我希望用户能够在我自己的对话框中指定文件名,而不是由 printDocument 的 Print 方法自动调用的文件名。
Public Event PrintPage As System.Drawing.Printing.PrintPageEventHandler
Private WithEvents Doc As New Printing.PrintDocument
Public Sub SaveXPSFile()
Doc.PrinterSettings.PrinterName = "Microsoft XPS Document Writer"
Doc.PrinterSettings.PrintFileName = "C:\Users\POConnell\Documents\t.xps"
Doc.Print()
Doc.Dispose()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles Doc.PrintPage
'drawing commands go here
End sub
【问题讨论】:
-
这就是我最终切换到 PDF 的原因。有几个不错的 PDF SDK 和免费的。
-
我想使用 PDF 但我不能。这不是我的选择...
-
并非所有计算机都有
XPS驱动程序,然后只有浏览器才能打开该文件。这对广泛使用的PDF文件类型毫无意义。 -
既然我必须使用XPS,这可能吗?
-
据我所知没有。希望其他人可以帮助您。