I am printing off a batch of letters with Aspose.Words. The letters are Duplex and want to be printed on Headed Paper but specifically I want to print on the front AND BACK of the headed paper. I’m printing 400 different document formats so changing the documents isn’t an option.
So what I am doing is:
For each Section in the document set the PageSetup.FirstPage and OtherPages to Tray 1 (where the Headed Paper is) then printing page 1 & 2, then setting the PageSetup.FirstPage and OtherPages to Tray 2 (where the Continuation Paper is) and printing the rest of the document.
This works well, but it is slow.
So I thought Id multithread it, which improved the performance brilliantly. But when multithreading the printing I cant guarantee the order of the documents, so Page1&2 of Document 2 is likely to come out before the other pages of Document 1.
Can you think of any way around this. can I print pages 1&2 to a file and then add the other pages or something like that.
Can I use some sort of clever PostScript rendering?
If I synclock the threads then it defeats the object of multithreading. Would UpdatePageLayout multithreaded make a significant difference? If I change the paper source will this rendering model need updating anyway?
Its an interesting problem. Have you got any ideas?