本文章是由機器翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文
資訊
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

PrintTicket 類別

定義列印工作的設定。

System.Object
  System.Printing.PrintTicket

命名空間:  System.Printing
組件:  ReachFramework (在 ReachFramework.dll 中)
針對 XAML 的 XMLNS:未對應至 XMLNS。

public sealed class PrintTicket : INotifyPropertyChanged
<PrintTicket .../>

PrintTicket 類型會公開下列成員。

  名稱描述
公用方法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 的可修改複製品 (Clone),製作這個物件值的深層複本 (Deep Copy)。
公用方法Equals(Object)判斷指定的物件是否等於目前物件。 (繼承自 Object)。
公用方法GetHashCode做為預設雜湊函式。 (繼承自 Object)。
公用方法GetType取得目前執行個體的 Type (繼承自 Object)。
公用方法GetXmlStream傳回 MemoryStream 物件,將 PrintTicket 的屬性值表示為符合列印結構描述的 XML 資料流。
公用方法SaveTo使用符合列印結構描述的 XML 格式,將 PrintTicket 設定儲存至 Stream 物件。
公用方法ToString傳回表示目前物件的字串。 (繼承自 Object)。
回頁首

  名稱描述
公用事件PropertyChanged發生於 PrintTicket 的任何屬性變更時。
回頁首

PrintTicket 物件是 PrintTicket 文件這種 XML 文件簡單易用的呈現方式。 後者是一組指令,告訴印表機如何設定各項不同特性 (例如雙面列印、自動分頁及裝訂)。 例如,若要指示印表機開啟釘書機,並且在列印工作的左上角打釘書針,此文件就會有 <JobStapleAllDocuments … > 項目,指定 StapleTopLeft 這個項目接著會由 PrintTicket 物件的 Stapling 屬性表示。 PrintTicket 文件必須符合列印結構描述

PrintTicket 類別可讓您的應用程式設定印表機的特性,而不必對 XML Stream 物件做任何直接寫入。

家用和商用檔案及相片印表機等所有最常用的功能都是以 PrintTicket 類別的屬性來表示。 但是列印結構描述定義了更多較不常見的功能,而且可加以擴充來處理專業印刷裝置的功能。 因此,雖然無法繼承 PrintTicketPrintCapabilities 類別,但卻可以擴充列印結構描述,以辨識不屬於 PrintTicketPrintCapabilities 類別的列印裝置功能。 如需詳細資訊,請參閱How to: Extend the Print Schema and Create New Print System Classes

請注意   當 PrintTicket 物件是以具有 PrintTicket 文件 (做為 Stream) 參數的建構函式 (Constructor) 建立時,整個文件會儲存在物件的非公用欄位中,包括其中表示較不常用之功能 (不是以 PrintTicket 類別的任何公用屬性表示) 的 XML 項目。 事實上,如果產生 PrintTicket 文件的驅動程式使用列印描述結構 的私用擴充,則也會將私有定義的標記儲存為非公開 PrintTicket 文件的一部分。

注意事項警告

不支援在 Windows 服務或 ASP.NET 應用程式或服務中使用 System.Printing 命名空間中的類別。 嘗試從其中一個應用程式類型中使用這些類別,可能會產生非預期的問題,例如服務效能變差和執行階段例外狀況。

如果想要從 Windows Forms 應用程式列印,請參閱 System.Drawing.Printing 命名空間。

下列範例顯示如何判斷特定印表機的功能,以及如何設定列印工作使用這些功能。


// ---------------------- 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 printCapabilites = printQueue.GetPrintCapabilities();

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

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

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

    return printTicket;
}// end:GetPrintTicketFromPrinter()


.NET Framework

支援版本:4.5.2、4.5.1、4.5、4、3.5、3.0

.NET Framework Client Profile

支援版本:4、3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。

社群新增項目

顯示:
© 2015 Microsoft