PagesPerSheetDirection Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает расположение страниц, когда на одной стороне печатного носителя отображается более одной страницы с содержимым.
public enum class PagesPerSheetDirection
public enum PagesPerSheetDirection
type PagesPerSheetDirection =
Public Enum PagesPerSheetDirection
- Наследование
Поля
BottomLeft | 4 | Страницы отображаются столбцами, идущими сверху вниз справа налево относительно ориентации страницы. |
BottomRight | 2 | Страницы отображаются столбцами, идущими сверху вниз слева направо относительно ориентации страницы. |
LeftBottom | 3 | Страницы отображаются рядами, идущими справа налево сверху вниз относительно ориентации страницы. |
LeftTop | 7 | Страницы отображаются рядами, идущими справа налево снизу вверх относительно ориентации страницы. |
RightBottom | 1 | Страницы отображаются рядами, идущими слева направо сверху вниз относительно ориентации страницы. |
RightTop | 5 | Страницы отображаются рядами, идущими слева направо снизу вверх относительно ориентации страницы. |
TopLeft | 8 | Страницы отображаются столбцами, идущими снизу вверх справа налево относительно ориентации страницы. |
TopRight | 6 | Страницы отображаются столбцами, идущими снизу вверх слева направо относительно ориентации страницы. |
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()
Комментарии
Используйте значения этого типа в первую очередь для следующих целей:
Как элементы PagesPerSheetDirectionCapability коллекции, являющейся свойством PrintCapabilities, эти значения указывают расположение страниц, поддерживаемых принтером.
В качестве значения PagesPerSheetDirection свойства объекта PrintTicket, значение направляет принтер на упорядочивание страниц содержимого в указанном направлении.
Неизвестное значение никогда не используется в свойствах PrintCapabilities объектов.
Никогда не следует задавать PrintTicket для свойства значение Unknown. Если какое-то другое PrintTicket созданное приложение создало документ PrintTicket , который задает функцию направления страниц на листе нераспознанным параметром (то есть параметром, который не определен в схеме печати), то PrintTicket объект в приложении, созданном с помощью этого документа, будет иметь значение Unknown в качестве значения PagesPerSheetDirection свойства.
Хотя и PrintTicket PrintCapabilities классы нельзя наследовать, можно расширить схему печати , чтобы распознать функции устройства печати, которые не учитываются в PrintTicket классах или PrintCapabilities классах. Дополнительные сведения см. в разделе "Практическое руководство. Расширение схемы печати и создание новых системных классов печати".