在VB.NET中按顺序打印多个PDF文件

在VB.NET中按顺序打印多个PDF文件,vb.net,pdf,printing,batch-file,Vb.net,Pdf,Printing,Batch File,我在使用以下代码发送打印命令的顺序中遇到了许多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.Sta

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


任何帮助都将不胜感激

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

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

您通过电话销售间接启动了500多个Adobe Acrobat实例,并想知道为什么它们没有按照您启动它们的顺序进行打印?在任何情况下,WaitForExit都会等待Shell命令完成,而不是Acrobat实例关闭。您通过调用Sell间接启动了500多个AdobeAcrobat实例,并想知道为什么它们没有按照您启动它们的顺序打印?在任何情况下,WaitForExit都会等待Shell命令完成,而不是Acrobat实例关闭。谢谢您的建议。我使用了iTextSharp,这是一个开源库,将所有PDF文件合并成一个文件,然后打印一个文件,现在它似乎工作得很好。打印速度极快,打印有序。谢谢您的建议。我使用了iTextSharp,这是一个开源库,将所有PDF文件合并成一个文件,然后打印一个文件,现在它似乎工作得很好。打印速度极快,打印整齐。