1

我在使用以下代码发送打印命令的顺序中遇到了许多 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 文件添加为打印作业。

任何帮助,将不胜感激!

4

1 回答 1

1

更好的选择可能是使用 PDF 库将所有​​ pdf 合并到一个文件中,然后通过库或使用相同的方法打印该单个文件。这样,您只有一个打印作业,并且您可以控制将文档添加到大 PDF 的顺序。

于 2012-05-16T13:06:08.693 回答