C # Как возобновить приостановленные задания с принтера, перенаправляя на другой принтер? Является ли это возможным? - PullRequest
1 голос
/ 17 мая 2019

Я пытаюсь возобновить свои задания на печать с автономного принтера, чтобы распечатать его на другом принтере.Я чувствую, что я почти на месте, но я не уверен, является ли 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...