PagesPerSheetDirection Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica la organización de páginas cuando aparece más de una página de contenido en una sola cara del soporte de impresión.
public enum class PagesPerSheetDirection
public enum PagesPerSheetDirection
type PagesPerSheetDirection =
Public Enum PagesPerSheetDirection
- Herencia
Campos
BottomLeft | 4 | Las páginas aparecen en columnas, en orden ascendente y de derecha a izquierda respecto a la orientación de página. |
BottomRight | 2 | Las páginas aparecen en columnas, en orden ascendente y de izquierda a derecha respecto a la orientación de página. |
LeftBottom | 3 | Las páginas aparecen en filas, de derecha a izquierda y en orden ascendente respecto a la orientación de página. |
LeftTop | 7 | Las páginas aparecen en filas, de derecha a izquierda y en orden descendente respecto a la orientación de página. |
RightBottom | 1 | Las páginas aparecen en filas, de izquierda a derecha y en orden ascendente respecto a la orientación de página. |
RightTop | 5 | Las páginas aparecen en filas, de izquierda a derecha y en orden descendente respecto a la orientación de página. |
TopLeft | 8 | Las páginas aparecen en columnas, en orden descendente y de derecha a izquierda respecto a la orientación de página. |
TopRight | 6 | Las páginas aparecen en columnas, en orden descendente y de izquierda a derecha respecto a la orientación de página. |
Unknown | 0 | La característica (cuyas opciones se representan mediante esta enumeración) está establecida en una opción no definida en el Esquema de impresión. |
Ejemplos
En el ejemplo siguiente se muestra cómo probar las funcionalidades de una impresora y configurar el trabajo de impresión para aprovecharlas.
// ---------------------- 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()
Comentarios
Use los valores de este tipo principalmente para estos fines:
Como miembros de la PagesPerSheetDirectionCapability colección, que es una propiedad de PrintCapabilities, estos valores indican los arreglos de página que admite la impresora.
Como valor de la PagesPerSheetDirection propiedad de , PrintTicketel valor dirige a la impresora para organizar páginas de contenido en una dirección especificada.
El valor Desconocido nunca se usa en propiedades de PrintCapabilities objetos .
Nunca debe establecer una PrintTicket propiedad en Unknown. Si alguna otra PrintTicket aplicación de producción ha creado un documento PrintTicket que establece la característica pages-per-sheet-direction en una opción no reconocida (es decir, una opción que no está definida en el esquema de impresión), entonces un PrintTicket objeto de la aplicación que se construye con ese documento tendrá Unknown como valor de la PagesPerSheetDirection propiedad .
Aunque las PrintTicket clases y PrintCapabilities no se pueden heredar, puede extender el esquema de impresión para reconocer las características del dispositivo de impresión que no se tienen en cuenta en las PrintTicket clases o PrintCapabilities . Para obtener más información, vea How to: Extend the Print Schema and Create New Print System Classes.