PrintTicket クラス

定義

印刷ジョブの設定を定義します。

public ref class PrintTicket sealed : System::ComponentModel::INotifyPropertyChanged
public sealed class PrintTicket : System.ComponentModel.INotifyPropertyChanged
type PrintTicket = class
    interface INotifyPropertyChanged
Public NotInheritable Class PrintTicket
Implements INotifyPropertyChanged
継承
PrintTicket
実装

次の例では、特定のプリンターの機能を確認する方法と、それらを利用するように印刷ジョブを構成する方法を示します。

// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
PrintTicket^ GetPrintTicketFromPrinter ()
{
   PrintQueue^ printQueue = nullptr;

   LocalPrintServer^ localPrintServer = gcnew LocalPrintServer();

   // Retrieving collection of local printer on user machine
   PrintQueueCollection^ localPrinterCollection = localPrintServer->GetPrintQueues();

   System::Collections::IEnumerator^ localPrinterEnumerator = localPrinterCollection->GetEnumerator();

   if (localPrinterEnumerator->MoveNext())
   {
      // Get PrintQueue from first available printer
      printQueue = ((PrintQueue^)localPrinterEnumerator->Current);
   } else
   {
      return nullptr;
   }
   // Get default PrintTicket from printer
   PrintTicket^ printTicket = printQueue->DefaultPrintTicket;

   PrintCapabilities^ printCapabilities = printQueue->GetPrintCapabilities();

   // Modify PrintTicket
   if (printCapabilities->CollationCapability->Contains(Collation::Collated))
   {
      printTicket->Collation = Collation::Collated;
   }
   if (printCapabilities->DuplexingCapability->Contains(Duplexing::TwoSidedLongEdge))
   {
      printTicket->Duplexing = Duplexing::TwoSidedLongEdge;
   }
   if (printCapabilities->StaplingCapability->Contains(Stapling::StapleDualLeft))
   {
      printTicket->Stapling = Stapling::StapleDualLeft;
   }
   return printTicket;
};// end:GetPrintTicketFromPrinter()
// ---------------------- GetPrintTicketFromPrinter -----------------------
/// <summary>
///   Returns a PrintTicket based on the current default printer.</summary>
/// <returns>
///   A PrintTicket for the current local default printer.</returns>
private PrintTicket GetPrintTicketFromPrinter()
{
    PrintQueue printQueue = null;

    LocalPrintServer localPrintServer = new LocalPrintServer();

    // Retrieving collection of local printer on user machine
    PrintQueueCollection localPrinterCollection =
        localPrintServer.GetPrintQueues();

    System.Collections.IEnumerator localPrinterEnumerator =
        localPrinterCollection.GetEnumerator();

    if (localPrinterEnumerator.MoveNext())
    {
        // Get PrintQueue from first available printer
        printQueue = (PrintQueue)localPrinterEnumerator.Current;
    }
    else
    {
        // No printer exist, return null PrintTicket
        return null;
    }

    // Get default PrintTicket from printer
    PrintTicket printTicket = printQueue.DefaultPrintTicket;

    PrintCapabilities printCapabilities = printQueue.GetPrintCapabilities();

    // Modify PrintTicket
    if (printCapabilities.CollationCapability.Contains(Collation.Collated))
    {
        printTicket.Collation = Collation.Collated;
    }

    if ( printCapabilities.DuplexingCapability.Contains(
            Duplexing.TwoSidedLongEdge) )
    {
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge;
    }

    if (printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft))
    {
        printTicket.Stapling = Stapling.StapleDualLeft;
    }

    return printTicket;
}// end:GetPrintTicketFromPrinter()
' ---------------------- GetPrintTicketFromPrinter -----------------------
''' <summary>
'''   Returns a PrintTicket based on the current default printer.</summary>
''' <returns>
'''   A PrintTicket for the current local default printer.</returns>
Private Function GetPrintTicketFromPrinter() As PrintTicket
    Dim printQueue As PrintQueue = Nothing

    Dim localPrintServer As New LocalPrintServer()

    ' Retrieving collection of local printer on user machine
    Dim localPrinterCollection As PrintQueueCollection = localPrintServer.GetPrintQueues()

    Dim localPrinterEnumerator As System.Collections.IEnumerator = localPrinterCollection.GetEnumerator()

    If localPrinterEnumerator.MoveNext() Then
        ' Get PrintQueue from first available printer
        printQueue = CType(localPrinterEnumerator.Current, PrintQueue)
    Else
        ' No printer exist, return null PrintTicket
        Return Nothing
    End If

    ' Get default PrintTicket from printer
    Dim printTicket As PrintTicket = printQueue.DefaultPrintTicket

    Dim printCapabilities As PrintCapabilities = printQueue.GetPrintCapabilities()

    ' Modify PrintTicket
    If printCapabilities.CollationCapability.Contains(Collation.Collated) Then
        printTicket.Collation = Collation.Collated
    End If

    If printCapabilities.DuplexingCapability.Contains(Duplexing.TwoSidedLongEdge) Then
        printTicket.Duplexing = Duplexing.TwoSidedLongEdge
    End If

    If printCapabilities.StaplingCapability.Contains(Stapling.StapleDualLeft) Then
        printTicket.Stapling = Stapling.StapleDualLeft
    End If

    Return printTicket
End Function ' end:GetPrintTicketFromPrinter()

注釈

PrintTicketオブジェクトは、PrintTicket ドキュメントと呼ばれる特定の種類の XML ドキュメントを簡単に操作できる表現です。 後者は、プリンターにさまざまな機能 (二重化、照合、ホチキス止めなど) を設定する方法を示す一連の命令です。 たとえば、プリンターの左上隅でホチキス止めとステープル印刷ジョブをオンにするようにプリンターに指示する場合、ドキュメントには<JobStapleAllDocuments … >、StapleTopLeft を指定する要素が含まれます。 要素は、 オブジェクトの プロパティPrintTicketによってStapling表されます。 PrintTicket ドキュメントは 、印刷スキーマに準拠している必要があります。

PrintTicketクラスを使用すると、XML Stream オブジェクトを直接書き込む必要なく、アプリケーションでプリンターの機能を構成できます。

家庭およびビジネスファイルおよびフォトプリンターの最も一般的な機能はすべて、 クラスの PrintTicket プロパティで表されます。 しかし、 印刷スキーマ は、より多くの、あまり一般的ではない機能を定義し、特殊な印刷デバイスの機能を処理するように拡張することができます。 そのため、 クラスと PrintCapabilities クラスはPrintTicket継承できませんが、 クラスまたは PrintCapabilities クラスで考慮されていない印刷デバイス機能を認識するように印刷スキーマをPrintTicket拡張できます。 詳細については、「 方法: 印刷スキーマを拡張する」および「新しい印刷システム クラスを作成する」を参照してください。

メモPrintTicket PrintTicket ドキュメントを () パラメーターとしてStream受け取るコンストラクターを使用してオブジェクトを作成すると、そのドキュメント全体がオブジェクト内の非パブリック フィールドに格納されます。これには、クラスのパブリック プロパティPrintTicketで表されないあまり一般的でない機能を表す XML 要素も含まれます。 実際、PrintTicket ドキュメントを生成したドライバーが Print Schema のプライベート拡張機能を使用している場合、そのプライベートに定義されたマークアップも、パブリックでない PrintTicket ドキュメントの一部として格納されます。

注意事項

名前空間内の System.Printing クラスは、Windows サービスまたはアプリケーションまたはサービス内での使用 ASP.NET サポートされていません。 これらのアプリケーションの種類の 1 つ内からこれらのクラスを使用しようとすると、サービスのパフォーマンスの低下や実行時の例外など、予期しない問題が発生する可能性があります。

Windows フォーム アプリケーションから印刷する場合は、 名前空間を System.Drawing.Printing 参照してください。

コンストラクター

PrintTicket()

PrintTicket クラスの新しいインスタンスを初期化します。

PrintTicket(Stream)

XML 印刷スキーマに準拠する XML ストリーム (PrintTicket ドキュメントを格納) を使用して、PrintTicket クラスの新しいインスタンスを初期化します。

プロパティ

Collation

プリンターが部単位で出力するかどうかを示す値を取得または設定します。

CopyCount

印刷ジョブの部数を取得または設定します。

DeviceFontSubstitution

プリンターが印刷ジョブでコンピューターのフォントをデバイスのフォントに置き換えるかどうかを示す値を取得または設定します。

Duplexing

プリンターが印刷ジョブで両面印刷を使用する場合に、その両面印刷の種類を示す値を取得または設定します。

InputBin

使用する入力ビン (用紙トレイ) を示す値を取得または設定します。

OutputColor

色または灰色の網掛けが含まれる内容に関する、プリンターでの処理方法を示す値を取得または設定します。

OutputQuality

印刷ジョブの出力の品質を示す値を取得または設定します。

PageBorderless

デバイスがコンテンツをメディアの端まで印刷するか、または端に余白を残しておくかを示す値を取得または設定します。

PageMediaSize

プリンターが印刷ジョブに使用する用紙 (または他のメディア) のページ サイズを取得または設定します。

PageMediaType

プリンターが印刷ジョブに使用する用紙またはメディアの種類を示す値を取得または設定します。

PageOrder

プリンターが複数のページを後ろから前と前から後ろのどちらで印刷するかを示す値を取得または設定します。

PageOrientation

ページ コンテンツをどのような方向で印刷するかを示す値を取得また設定します。

PageResolution

プリンターが印刷ジョブに使用するページ解像度のレベルを取得または設定します。

PageScalingFactor

プリンターがページ上の印刷イメージを拡大または縮小するパーセンテージを取得または設定します。

PagesPerSheet

用紙のそれぞれの印刷面に印刷されるページの数を取得または設定します。

PagesPerSheetDirection

プリンターが用紙のそれぞれの面に印刷する複数のページをどのように並べるかを示す値を取得または設定します。

PhotoPrintingIntent

写真の印刷で使用される品質レベルを定性的な用語で示した値を取得または設定します。

Stapling

プリンターが複数のページをステープル処理するかどうか、またどの部分でステープル処理するかを示す値を取得または設定します。

TrueTypeFontMode

TrueType フォントが使用されているテキストに関する、プリンターでの処理方法を示す値を取得または設定します。

メソッド

Clone()

この PrintTicket の変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetXmlStream()

PrintTicket のプロパティ値を、印刷スキーマに準拠した XML ストリームとして表す、MemoryStream オブジェクトを返します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SaveTo(Stream)

印刷スキーマに準拠した XML 形式を使用して、PrintTicket 設定を Stream オブジェクトに保存します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

PropertyChanged

PrintTicket のいずれかのプロパティが変更されたときに発生します。

適用対象