PrintTicket クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
印刷ジョブの設定を定義します。
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 のいずれかのプロパティが変更されたときに発生します。 |
適用対象
.NET