We have developed an intranet site that allows authorized users to view and print pdf files. In order to allow the user to select and print several files without opening each to view on the screen, we wrote an ActiveX control that has the Pdf control in it. The user clicks boxes to check the files to be printed and then the 'Print' button passes control to a page that downloads and executes the ActiveX control.

After the user selects the printer to use, the pdf files are each loaded using Pdf.LoadFile(filename) then printed using Pdf.PrintAll. The problem is that when there are more than one file to print, only the last one is printed, the first few are not.

It appears that the printer and spooling services are not 'awake' when the first files are sent to the printer and thus they are ignored or end up in the 'bit bucket'. Only the last one survives in the queue. How can we guarantee that all files sent to the printer in this manner are queued properly?