Duplexing 枚举

定义

指定打印机是使用单面打印,还是使用某种类型的双面(双工打印)打印。

C#
public enum Duplexing
继承
Duplexing

字段

名称 说明
OneSided 1

仅在每张纸的单面上输出打印。

TwoSidedLongEdge 3

在每张纸的两个面上输出打印,其沿着平行于 MediaSizeHeight 的边缘翻转。

TwoSidedShortEdge 2

在每张纸的两个面上输出打印,其沿着平行于 MediaSizeWidth 的边缘翻转。

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 作为 属性的值 Duplexing

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

另请参阅