Поделиться через


PageMediaType Перечисление

Определение

Указывает типы печатной бумаги или другого носителя.

public enum class PageMediaType
public enum PageMediaType
type PageMediaType = 
Public Enum PageMediaType
Наследование
PageMediaType

Поля

Archival 2

Носитель архивного качества.

AutoSelect 1

Носитель выбирается устройством печати.

BackPrintFilm 3

Специальная пленка для печати на оборотной стороне.

Bond 4

Стандартный высокосортный носитель.

CardStock 5

Стандартные карточки.

Continuous 6

Носитель для непрерывной печати.

EnvelopePlain 7

Обычный конверт.

EnvelopeWindow 8

Конверт с прозрачным окошком для адреса.

Fabric 9

Ткань.

HighResolution 10

Специальное средство высокого разрешения.

Label 11

Наклейка.

MultiLayerForm 12

Вложенные многоэлементные формы.

MultiPartForm 13

Отдельные многоэлементные формы.

None 29

Неизвестный или отсутствующий в списке носитель.

Photographic 14

Стандартный фотографический носитель.

PhotographicFilm 15

Фотопленка.

PhotographicGlossy 16

Глянцевый фотографический носитель.

PhotographicHighGloss 17

Высокоглянцевый фотографический носитель.

PhotographicMatte 18

Матовый фотографический носитель.

PhotographicSatin 19

Атласный фотографический носитель.

PhotographicSemiGloss 20

Полуматовый фотографический носитель.

Plain 21

Обычная бумага.

Screen 22

Непрерывный вывод на экран.

ScreenPaged 23

Постраничный вывод на экран.

Stationery 24

Специальная печатная продукция.

TabStockFull 25

Ярлычки без насечек на линии разреза (отдельные ярлычки).

TabStockPreCut 26

Ярлычки с насечками на линии разреза (несколько ярлычков).

Transparency 27

Прозрачный лист.

TShirtTransfer 28

Средство для переноса изображения на футболку.

Unknown 0

Функции (параметры которой представлены этим перечислением) присвоен параметр, который не определен в схеме печати.

Примеры

В следующем примере показано, как определить возможности принтера и настроить задание печати для их использования.

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

Комментарии

Значения этого типа используются в основном для следующих целей:

  • Как члены PageMediaTypeCapability коллекции, свойство PrintCapabilities, они указывают типы носителей, поддерживаемых принтером.

  • В качестве значения PageMediaType свойства PrintTicketони указывают принтеру использовать определенный тип носителя.

Значение Unknownvalue никогда не используется в свойствах PrintCapabilities объектов .

Никогда не следует присваивать свойству PrintTicket значение Unknown. Если какое-то другое PrintTicket создающее приложение создало документ PrintTicket, который задает для функции типа носителя страницы нераспознанный параметр (то есть параметр, который не определен в схеме печати), то PrintTicket объект в приложении, созданный с помощью этого документа, будет иметь значение Unknown в качестве значения PageMediaType свойства .

PrintTicket Хотя классы и PrintCapabilities не могут быть унаследованы, можно расширить схему печати для распознавания функций устройства печати, которые не учитываются в PageMediaType классах или PrintCapabilities . Дополнительные сведения см. в разделах Практическое руководство. Расширение схемы печати и Создание новых системных классов печати.

Применяется к

См. также раздел