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

时间:2012-05-16 12:47:51

标签: 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.StartInfo.FileName = fileToPrint
   myProcess.StartInfo.Verb = "Print"
   myProcess.StartInfo.UseShellExecute = True
   myProcess.Start()
   myProcess.WaitForExit()
Next

除了不正确的顺序之外,它打印得很好。我设法以正确的顺序获得它的唯一方法是添加一个计时器并检查打印队列中是否有任何作业,这确实减慢了打印过程,特别是在创建500多个打印作业时。

我想知道是否有更好的方法来打印这些文件,它会快速打印并且仍然有序。我想到的一些事情,但不确定是否可能,是创建一个文本文件或XML文件,其中包含要打印的文件列表和数量,并将打印机排除在该列表之外或将PDF文件转换为XPS文档和然后使用PrintQueue类将XPS文件添加为打印作业。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

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