0

これは、特定のプリンタでの初期化の問題のように聞こえます。ユースケースは次のとおりです。

 // 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

4

1 に答える 1

1

これはバグとして確認されています。GetPrintCapablitiesAsXml()がPrintQueueのインスタンスによって呼び出される最初のメソッドである場合、返されるXMLはプリンターのすべてのプロパティを正しく列挙しません。

于 2012-09-07T22:11:43.317 に答える