0

次のコードでドキュメントを印刷しています:

LocalPrintServer localPrintServer = new LocalPrintServer();
PrintQueue defaultPrintQueue = LocalPrintServer.GetDefaultPrintQueue();

// Call AddJob
PrintSystemJobInfo myPrintJob = defaultPrintQueue.AddJob();

// 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();

inputBin を特定のビンに設定しようとして苦労しています。使用するビンが「紙ビン 3」であることは既にわかっており、私のプリンターの値は 261 です。

次のようなprintTicketを使用してビンを変更できることを理解しています:

PrintTicket printTicket = defaultPrintQueue.DefaultPrintTicket;
printTicket.InputBin = InputBin.AutoSelect;

問題は enum (system.printing.inputBin) で、標準の最小ビンのみが含まれています。(bin2、bin3 などを除いた 0 から 5 までの値)

質問 : - この場合、用紙ビンの値をどのように設定すると思いますか? (261)それを行う方法があることは知っていますが、何時間も経ってもまだこれにこだわっています。

助けはありますか?(ビン名と対応する値を取得することは必要ではないことに注意してください。印刷ジョブチケットで値を設定する方法を理解するだけで済みます

4.0 プロジェクトでのみ機能することに注意してください。

ありがとう

4

1 に答える 1

0

ここで見つかった奇妙な方法 ( http://www.wittersworld.com/selecting-the-input-tray-when-printing-xps-documents/ ) を使用すると、機能します。

于 2016-06-10T17:37:55.793 に答える