Я пытаюсь возобновить свои задания на печать с автономного принтера, чтобы распечатать его на другом принтере.Я чувствую, что я почти на месте, но я не уверен, является ли AddJob()
лучшим подходом, или я просто не адаптирую его прямо к коду, который у меня есть.
Итак, на данный момент у меня есть следующее.Я собираю задания со старого принтера и знаю, как их отменить.Но я не могу найти способ извлечения информации из старой очереди, передачи на новый принтер и возобновления.
// Create the printer server and print queue objects
LocalPrintServer localPrintServer = new LocalPrintServer();
PrintQueue defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();
//Set the correct printer
pname = this.listBox1.SelectedItem.ToString();
//Gather print jobs from the offline printer
GetPrintJobsCollection(defaultprinter);
//Note sure how to use this
foreach (string file in printJobCollection)
{
// Call AddJob
PrintSystemJobInfo myPrintJob = defaultPrintQueue.AddJob(file);
// Write a Byte buffer to the JobStream and close the stream
Stream myStream = myPrintJob.JobStream;
Byte[] myByteBuffer = UnicodeEncoding.Unicode.GetBytes("This is a test string for the print job stream.");
myStream.Write(myByteBuffer, 0, myByteBuffer.Length);
myStream.Close();
}
//Cancel old jobs on the old printer
CancelPrintJob(defaultprinter);