2012-05-16 23 views
1

我有在我使用下面的代码发送打印指令的顺序麻烦许多PDF文件:打印多个PDF文件,以便在VB.NET

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文件添加为打印作业。

任何帮助,将不胜感激!

+1

您推出的Adobe Acrobat 500+情况下间接地,通过对卖出一个看涨期权,但不知道为什么他们不都在你启动的顺序打印?在任何情况下,WaitForExit等待Shell命令到结束,而不是Acrobat的实例关闭 –

回答

1

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

+0

谢谢你的建议。我使用iTextSharp(这是一个开源库)将所有PDF文件合并为一个文件,然后打印一个文件,现在看起来完美。打印速度非常快,并按顺序。 – lfields