¿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
-
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.
Orientación del papel en el contexto fiscal y regulatorio español
La elección de la orientación correcta tiene implicaciones normativas en España. La siguiente tabla resume las orientaciones recomendadas según el tipo de documento:
| Tipo de documento | Orientación recomendada | Marco normativo |
|---|---|---|
| Facturas ordinarias (VeriFactu) | Portrait A4 | AEAT / Crea y Crece |
| Declaraciones tributarias | Portrait A4 | AEAT |
| Facturas Facturae para FACe | Portrait A4 | B2G / Facturae |
| Tickets TicketBAI (Bizkaia, Gipuzkoa, Araba) | Portrait (formato ticket) | Diputaciones forales |
| Informes financieros CNMV | Landscape A4 (tablas) | CNMV |
| Informes ENS (auditoría de seguridad) | Portrait A4 | CCN / ENS |
| Extractos BOE para referencia | Portrait A4 | BOE / Ministerio |
La AEAT no especifica técnicamente la orientación en sus normativas de facturación electrónica, pero el formato A4 vertical es el estándar de facto en toda la Administración española y en los sistemas ERP homologados para VeriFactu y Facturae.
¿Cómo Combino 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 de impresión completo. 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;
// Combine orientation with paper size, DPI, and margins
var settings = new PrintSettings
{
PaperOrientation = PaperOrientation.Landscape,
PaperSize = PaperSize.A4,
Dpi = 300,
NumberOfCopies = 1,
PaperMargins = new Margins(15, 15, 15, 15),
Grayscale = false
};
// Print the financial report
Printer.Print("financial-report.pdf", settings);
Imports IronPrint
' Combine orientation with paper size, DPI, and margins
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
}
' Print the financial report
Printer.Print("financial-report.pdf", settings)
PaperSize y PaperOrientation trabajan juntos — configurando A4 en horizontal se obtiene un área de impresión de 297 × 210 mm, mientras que A4 en vertical da 210 × 297 mm. La propiedad Dpi controla la resolución de salida (300 es el estándar para documentos de negocio, y también el mínimo recomendado para asegurar la legibilidad de los códigos QR de verificación fiscal como el QR de la AEAT en las facturas VeriFactu), y los valores PaperMargins están en milímetros.
Configuración óptima para facturas VeriFactu y documentos AEAT
Para documentos fiscales que incluyan el código QR obligatorio de la AEAT, se recomienda:
using IronPrint;
// Configuración optimizada para facturas VeriFactu / documentos AEAT
var fiscalSettings = new PrintSettings
{
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300, // DPI mínimo para legibilidad del QR de verificación AEAT
PrinterName = "Impresora_Fiscal_Departamento"
};
Printer.Print("factura-verifactu.pdf", fiscalSettings);
using IronPrint;
// Configuración optimizada para facturas VeriFactu / documentos AEAT
var fiscalSettings = new PrintSettings
{
PaperSize = PaperSize.A4,
PaperOrientation = PaperOrientation.Portrait,
Dpi = 300, // DPI mínimo para legibilidad del QR de verificación AEAT
PrinterName = "Impresora_Fiscal_Departamento"
};
Printer.Print("factura-verifactu.pdf", fiscalSettings);
Imports IronPrint
' Configuración optimizada para facturas VeriFactu / documentos AEAT
Dim fiscalSettings As New PrintSettings With {
.PaperSize = PaperSize.A4,
.PaperOrientation = PaperOrientation.Portrait,
.Dpi = 300, ' DPI mínimo para legibilidad del QR de verificación AEAT
.PrinterName = "Impresora_Fiscal_Departamento"
}
Printer.Print("factura-verifactu.pdf", fiscalSettings)
Esta configuración garantiza que el código QR que apunta a https://sede.agenciatributaria.gob.es/ para la verificación de la factura sea legible por cualquier escáner estándar, y que el documento respete el formato A4 portrait exigido en la Administración española.
¿Cómo Dejo 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 aceptarlo o alternar 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-configure landscape orientation for the dialog
var settings = new PrintSettings
{
PaperOrientation = PaperOrientation.Landscape,
PaperSize = PaperSize.Letter
};
// Open the dialog with pre-selected orientation
Printer.ShowPrintDialog("wide-report.pdf", settings);
Imports IronPrint
' Pre-configure landscape orientation for the dialog
Dim settings As New PrintSettings With {
.PaperOrientation = PaperOrientation.Landscape,
.PaperSize = PaperSize.Letter
}
' Open the dialog with pre-selected orientation
Printer.ShowPrintDialog("wide-report.pdf", settings)
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 desean previsualizar cómo se ve un documento en retrato versus paisaje antes de comprometerse a una tirada de impresión. El tutorial de impresión de documentos cubre flujos de trabajo silenciosos y con diálogo de extremo a extremo.
En entornos de Back Office con documentos LOPDGDD (nóminas, contratos con datos personales), preestablecer Portrait A4 en el diálogo evita que el usuario cambie accidentalmente el formato, lo que podría afectar a la presentación de datos personales sensibles en la página impresa.
Próximos pasos
La orientación del papel es una propiedad en el objeto PrintSettings — configure PaperOrientation a Portrait, Landscape, o Automatic y páselo a cualquier método de impresión de IronPrint. Combínelo con PaperSize.A4, Dpi=300, y PaperMargins para control total del diseño, especialmente en documentos fiscales españoles que requieren cumplimiento con los estándares de la AEAT, VeriFactu, Facturae/FACe y las diputaciones forales para TicketBAI.
Explora el cómo configurar opciones de impresión para cada propiedad disponible, la referencia de la API de la clase Printer para el método completo, o la página de ejemplos de código para fragmentos listos para ejecutar. Los tutoriales de IronPrint recorren el ciclo completo de impresión, y el registro de cambios sigue las actualizaciones recientes que incluyen mejoras de rendimiento.
Empieza una prueba gratuita de 30 días para probar configuraciones de orientación en un proyecto en vivo. Cuando esté listo, vea las opciones de licencia comenzando en $999.
Preguntas Frecuentes
¿Cómo puedo establecer la orientación del papel para imprimir en C#?
Para establecer la orientación del papel para imprimir en C#, puede usar la propiedad PaperOrientation de IronPrint. Esto le permite especificar si desea que el documento se imprima en orientación vertical, horizontal o automática.
¿Qué opciones están disponibles para la orientación del papel en IronPrint?
IronPrint proporciona opciones para establecer la orientación del papel en vertical, horizontal o automática, dándole un control total sobre cómo se imprimen sus documentos.
¿Es posible determinar automáticamente la orientación del papel en IronPrint?
Sí, IronPrint puede determinar automáticamente la mejor orientación del papel para su documento utilizando su configuración de orientación automática.
¿Qué propiedad se utiliza para controlar la orientación del papel en IronPrint?
La propiedad PaperOrientation en IronPrint se utiliza para controlar la orientación del papel al imprimir documentos en C#.
¿Puede IronPrint manejar la impresión horizontal?
Sí, IronPrint puede manejar la impresión horizontal configurando la propiedad PaperOrientation en horizontal.
¿IronPrint soporta el modo vertical para la impresión de documentos?
IronPrint soporta completamente el modo vertical para la impresión de documentos configurando la propiedad PaperOrientation en vertical.
¿Cómo puedo lograr un control total sobre la orientación del papel en C# usando IronPrint?
Puede lograr un control total sobre la orientación del papel utilizando la propiedad PaperOrientation en IronPrint para especificar modos vertical, horizontal o automático.

