これは、特定のプリンタでの初期化の問題のように聞こえます。ユースケースは次のとおりです。
// Get the default printer.
PrintQueue printer = LocalPrintServer.GetDefaultPrintQueue();
// Get the printer properties as XML from the system and populate the instance of PrinterProperties.
Stream printerDocmentStream = printer.GetPrintCapabilitiesAsXml();
取得したXMLドキュメントから、XML要素PageMediaSizeは、特定のクラスのプリンターでサポートされているページサイズの包括的なリストを保持していません。
ただし、DefaultPrintTicketの呼び出し後にXMLドキュメントが取得されると、XML要素PageMediaSizeはサポートされているすべてのページサイズを返します。コードは次のとおりです。
// This call initializes the printer properties. <--------------------
PrintTicket dummyPrintTicket = printer.DefaultPrintTicket; <-----------
// Get the default printer.
PrintQueue printer = LocalPrintServer.GetDefaultPrintQueue();
// Get the printer properties as XML from the system and populate the instance of PrinterProperties.
Stream printerDocmentStream = printer.GetPrintCapabilitiesAsXml();
DefaultPrintTicketを呼び出すと、PrintQueueのインスタンスが初期化されると思います。初期化されたメソッドがありますが、保護されています。
このバグですか?誰かが同様の行動を見ていますか?
PS:私が使用しているプリンターは次のとおりです:HP Designjet T7100ps HPGL2