閱讀英文版本

分享方式:


DeviceFontSubstitution 列舉

定義

指定是否在印表機上啟用裝置字型替換。

C#
public enum DeviceFontSubstitution
繼承
DeviceFontSubstitution

欄位

名稱 Description
Off 1

裝置字型替換已停用。

On 2

裝置字型替換已啟用。

Unknown 0

功能 (其選項由這個列舉表示) 設定為 列印結構描述中未定義的選項。

範例

下列範例示範如何判斷印表機功能,並設定列印作業以利用它們。

C#
// ---------------------- 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()

備註

當只有文字而非字型傳送至印表機時,列印速度會更快。 有些印表機具有永久儲存在其記憶體中的字型。 這些印表機可讓使用者為印表應用程式所使用的每一個字型取代駐留印表機字型。

此類型的值主要用於下列用途:

未知的值永遠不會用在 對象的屬性 PrintCapabilities 中。

您不應該將 PrintTicket 屬性設定為 Unknown。 如果某些其他 PrintTicket 產生應用程式已建立 PrintTicket 檔案,將裝置字型替代功能設定為無法辨識的選項 (,也就是在 列印架構) 中未定義的選項,則 PrintTicket 以該檔建構的 應用程式中的物件將會有 Unknown 做為 屬性的值 DeviceFontSubstitution

PrintTicket雖然 無法繼承 和 PrintCapabilities 類別,但您可以擴充列印架構,以辨識未在 或 PrintCapabilities 類別中考慮的PrintTicket列印裝置功能。 如需詳細資訊,請參閱 如何:擴充列印架構和建立新的列印系統類別

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

另請參閱