¿Cómo establecer la orientación del papel para imprimir en C#
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
- Instalar
IronPrinta través de NuGet:Install-Package IronPrint - Añadir
using IronPrint;al archivo - Crear un objeto
PrintSettings - Establecer
PaperOrientationaPortraitoLandscape - Pasar las configuraciones a
Printer.Print()oPrinter.ShowPrintDialog()
-
Instala IronPrint con el Administrador de Paquetes NuGet
PM > Install-Package IronPrint -
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 }); -
Despliegue para probar en su entorno real
Comienza a usar IronPrint en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Instale la biblioteca de impresión en C# IronPrint
- Cree un objeto
PrintSettings - Configurar
PaperOrientationaPortraitoLandscape - Pasar configuraciones a
Printer.Print() - Ejecutar el proyecto para imprimir con la orientación especificada
¿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)
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.

