¿Cómo establecer la orientación del papel para imprimir en C&#35

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

La orientación del papel controla si un documento se imprime en modo retrato (vertical) o paisaje (horizontal). El retrato funciona para la mayoría de cartas, facturas e informes. El paisaje es la mejor opción para tablas anchas, hojas de cálculo, paneles y diapositivas de presentación. Configurar la orientación programáticamente asegura una impresión constante independientemente de la configuración predeterminada de la impresora del usuario.

En España, la orientación correcta del papel tiene implicaciones normativas concretas: las facturas emitidas bajo el sistema VeriFactu de la AEAT, los documentos de declaración tributaria y los informes para organismos reguladores como la CNMV utilizan el formato A4 vertical (Portrait) como estándar obligatorio. El paisaje (Landscape) se reserva para presentaciones de análisis financiero y tablas de datos en informes de cumplimiento normativo.

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

Inicio Rápido: Configurar Orientación del Papel

  1. Instalar IronPrint a través de NuGet: Install-Package IronPrint
  2. Añadir using IronPrint; al archivo
  3. Crear un objeto PrintSettings
  4. Establecer PaperOrientation a Portrait o Landscape
  5. Pasar 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 Configuro la Orientación del Papel para Imprimir?

La propiedad PaperOrientation en PrintSettings acepta tres valores:

  • PaperOrientation.Portrait — disposición vertical (predeterminada en la mayoría de las impresoras). Lo mejor para documentos de una sola columna como cartas, contratos y facturas. En España, es la orientación exigida para facturas VeriFactu, declaraciones de la AEAT y documentos administrativos presentados ante organismos públicos (FACe, BOE).
  • PaperOrientation.Landscape — disposición horizontal. Lo mejor para contenido ancho como tablas de datos, diagramas de Gantt, hojas de cálculo y presentaciones de diapositivas. Utilizado en informes de la CNMV con tablas financieras extendidas y en presentaciones de auditoría para el Esquema Nacional de Seguridad (ENS).
  • PaperOrientation.Automatic — se remite a la configuración predeterminada de la impresora.

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

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

// Configure portrait orientation
var portraitSettings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Portrait
};

// Print the invoice in portrait
Printer.Print("invoice.pdf", portraitSettings);

// Configure landscape orientation
var landscapeSettings = new PrintSettings
{
    PaperOrientation = PaperOrientation.Landscape
};

// Print the dashboard in landscape
Printer.Print("quarterly-dashboard.pdf", landscapeSettings);
Imports IronPrint

' Configure portrait orientation
Dim portraitSettings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Portrait
}

' Print the invoice in portrait
Printer.Print("invoice.pdf", portraitSettings)

' Configure landscape orientation
Dim landscapeSettings As New PrintSettings With {
    .PaperOrientation = PaperOrientation.Landscape
}

' Print the dashboard in landscape
Printer.Print("quarterly-dashboard.pdf", landscapeSettings)
$vbLabelText   $csharpLabel

Con el enfoque nativo de .NET System.Drawing.Printing, la orientación es un booleano (DefaultPageSettings.Landscape = true) enterrado dentro de un PrintDocument que también requiere manejo de eventos PrintPage, renderización de gráficos, y gestión manual de páginas. IronPrint reemplaza todo ese canal con una sola propiedad en un objeto de configuraciones.