Cómo establecer la orientación del papel para imprimir en C

This article was translated from English: Does it need improvement?
Translated
View the article in English

La orientación del papel controla si al imprimir documento este se genera en modo retrato (vertical) o paisaje (horizontal). El modo retrato funciona para la mayoría de cartas, facturas e informes. El modo paisaje es la mejor opción para tablas anchas, hojas de cálculo, paneles de control y diapositivas de presentación. Establecer la orientación programáticamente asegura una salida consistente sin importar la configuración de impresora predeterminada del usuario.

IronPrint expone una propiedad PaperOrientation en la clase PrintSettings. La configuramos en Portrait o Landscape, pasamos las configuraciones a Printer.Print() y el documento se imprime en el diseño especificado.

Inicio rápido: Configurar la orientación del papel

  1. Instala IronPrint mediante NuGet: Install-Package IronPrint
  2. Añade using IronPrint; al archivo
  3. Crea un objeto PrintSettings
  4. Establece PaperOrientation a Portrait o Landscape
  5. Pasa las configuraciones a Printer.Print() o Printer.ShowPrintDialog()
  1. Instala IronPrint con el Administrador de Paquetes NuGet

    PM > Install-Package IronPrint
  2. Copie y ejecute este fragmento de código.

    using IronPrint;
    
    // Print a document in landscape orientation
    Printer.Print("report.pdf", new PrintSettings
    {
        PaperOrientation = PaperOrientation.Landscape
    });
  3. Despliegue para probar en su entorno real

    Comienza a usar IronPrint en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

¿Cómo establezco la orientación del papel para imprimir?

La propiedad PaperOrientation en PrintSettings acepta tres valores:

  • PaperOrientation.Portrait — diseño vertical (predeterminado en la mayoría de las impresoras). Mejor para documentos de una sola columna como cartas, contratos y facturas.
  • PaperOrientation.Landscape — diseño horizontal. Mejor para contenido ancho como tablas de datos, gráficos de Gantt, hojas de cálculo y presentaciones de diapositivas.
  • PaperOrientation.Automatic — se remite a la configuración predeterminada de la impresora.

Creamos un objeto PrintSettings, le asignamos la orientación deseada y lo pasamos a Printer.Print() para la impresión silenciosa o Printer.ShowPrintDialog() para la impresión basada en diálogo.

:path=/static-assets/print/content-code-examples/how-to/set-paper-orientation/set-paper-orientation-portrait-and-landscape-orientation.cs
using IronPrint;

// Portrait orientation — standard for letters and invoices
var portraitSettings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Portrait
};
Printer.Print("invoice.pdf", portraitSettings);

// Landscape orientation — ideal for wide tables and dashboards
var landscapeSettings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape
};
Printer.Print("quarterly-dashboard.pdf", landscapeSettings);
Imports IronPrint

' Portrait orientation — standard for letters and invoices
Dim portraitSettings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Portrait
}
Printer.Print("invoice.pdf", portraitSettings)

' Landscape orientation — ideal for wide tables and dashboards
Dim landscapeSettings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape
}
Printer.Print("quarterly-dashboard.pdf", landscapeSettings)
$vbLabelText   $csharpLabel

Con el enfoque nativo de .NET System.Drawing.Printing, la orientación es un valor booleano (DefaultPageSettings.Landscape = true) enterrado dentro de un PrintDocument que también requiere el manejo de eventos PrintPage, renderizado de gráficos y gestión manual de páginas. IronPrint reemplaza toda esa tubería con una sola propiedad en un objeto de configuración.

¿Cómo combino la orientación con otras configuraciones de impresión?

La orientación es más útil cuando se combina con el tamaño del papel, DPI y márgenes para definir un diseño completo de impresión. La clase PrintSettings nos permite configurar todo esto en un solo objeto.

:path=/static-assets/print/content-code-examples/how-to/set-paper-orientation/set-paper-orientation-combine-orientation-with-settings.cs
using IronPrint;

var settings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape,
    PaperSize = PaperSize.A4,
    Dpi = 300,
    NumberOfCopies = 1,
    PaperMargins = new Margins(15, 15, 15, 15),
    Grayscale = false
};

Printer.Print("financial-report.pdf", settings);
Imports IronPrint

Dim settings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape,
    .PaperSize = PaperSize.A4,
    .Dpi = 300,
    .NumberOfCopies = 1,
    .PaperMargins = New Margins(15, 15, 15, 15),
    .Grayscale = False
}

Printer.Print("financial-report.pdf", settings)
$vbLabelText   $csharpLabel

PaperSize y PaperOrientation trabajan juntos — establecer A4 paisaje da un área de impresión de 297 × 210 mm, mientras que A4 retrato da 210 × 297 mm. La propiedad Dpi controla la resolución de salida (300 es el estándar para documentos empresariales) y los valores de PaperMargins están en milímetros.

¿Cómo permito que los usuarios elijan la orientación en el diálogo de impresión?

Cuando pasamos PrintSettings a Printer.ShowPrintDialog(), el diálogo se abre con nuestra orientación preestablecida. El usuario puede aceptarla o cambiar entre retrato y paisaje antes de imprimir.

:path=/static-assets/print/content-code-examples/how-to/set-paper-orientation/set-paper-orientation-dialog-with-orientation-preset.cs
using IronPrint;

// Pre-select landscape, but let the user override in the dialog
var settings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape,
    PaperSize = PaperSize.Letter
};

Printer.ShowPrintDialog("wide-report.pdf", settings);
Imports IronPrint

' Pre-select landscape, but let the user override in the dialog
Dim settings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape,
    .PaperSize = PaperSize.Letter
}

Printer.ShowPrintDialog("wide-report.pdf", settings)
$vbLabelText   $csharpLabel

Para escenarios de UI no bloqueantes, la variante asincrónica Printer.ShowPrintDialogAsync() acepta los mismos parámetros y mantiene la aplicación receptiva mientras el diálogo está abierto. Esto es especialmente útil para la orientación porque los usuarios a menudo quieren previsualizar cómo se ve un documento en retrato versus paisaje antes de comprometerse con un ciclo de impresión. El tutorial de documentos de impresión cubre ambos flujos de trabajo, silenciosos y basados en diálogo, de principio a fin.

Próximos pasos

La orientación del papel es una propiedad en el objeto PrintSettings — establece PaperOrientation en Portrait, Landscape, o Automatic y pásalo a cualquier método de impresión de IronPrint. Combínalo con PaperSize, Dpi, y PaperMargins para un control completo del diseño.

Explora la guía de configuración de impresión para cada propiedad disponible, la referencia API de la clase Printer para la superficie de métodos completa, o la página de ejemplos de código para fragmentos listos para ejecutar. Los tutoriales de IronPrint recorren todo el ciclo de vida de impresión, y el registro de cambios sigue las actualizaciones recientes, incluyendo mejoras de rendimiento.

Comienza una prueba gratuita de 30 días para probar las configuraciones de orientación en un proyecto en vivo. Cuando estés listo, mira las opciones de licencia a partir de $749.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 38,930 | Versión: 2026.4 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronPrint
ejecuta una muestra observa cómo tu documento llega a la impresora.