【发布时间】:2012-05-24 00:52:42
【问题描述】:
我在使用以下代码发送打印命令时遇到了许多 PDF 文件的问题:
For i As Int32 = 1 To qtyToPrint Step 1
'calls the process for the printing of the pdf files
Dim myProcess As Process = New Process
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
myProcess.StartInfo.FileName = fileToPrint
myProcess.StartInfo.Verb = "Print"
myProcess.StartInfo.UseShellExecute = True
myProcess.Start()
myProcess.WaitForExit()
Next
它打印得很好,只是它的顺序不正确。我设法以正确顺序获得它的唯一方法是添加一个计时器并检查打印队列中是否有任何作业,这确实会减慢打印过程,尤其是在创建 500 多个打印作业时。
我想知道是否有更好的方法来打印这些文件,它可以快速打印到哪里并且仍然是有序的。我想到的几件事,但不确定是否可能,是创建一个文本文件或 XML 文件,其中包含要打印的文件列表和数量并将打印机从该列表中排入队列,或者将 PDF 文件转换为 XPS 文档和然后使用 PrintQueue 类将 XPS 文件添加为打印作业。
任何帮助将不胜感激!
【问题讨论】:
-
您通过调用 Sell 间接启动了 500 多个 Adobe Acrobat 实例,想知道为什么它们没有按照您启动它们的顺序全部打印?在任何情况下,WaitForExit 都会等待 Shell 命令完成,而不是等待 Acrobat 实例关闭
标签: vb.net pdf printing batch-file