Cómo establecer el tamaño del papel para imprimir en C

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

La clase PrintSettings de IronPrint ofrece a los desarrolladores control directo sobre el tamaño del papel al imprimir documento. Asignamos un valor del enumerador PaperSize — como PaperSize.A4 o PaperSize.Letter — y pasamos el objeto configurado PrintSettings a cualquiera de los métodos de impresión de IronPrint. Luego, la impresora usa ese tamaño de papel exacto para el trabajo.

Esta guía recorre la configuración de tamaños de papel estándar, combinando el tamaño con otras configuraciones de impresión e imprimiendo de forma asincrónica, todo con código funcional en C#.

Inicio rápido: Configurar el tamaño del papel

  1. Instalar IronPrint a través de NuGet: Install-Package IronPrint
  2. Agregue using IronPrint; al archivo
  3. Cree un objeto PrintSettings
  4. Establezca PaperSize en cualquier valor del enumerador PaperSize (por ejemplo, PaperSize.A4)
  5. Pase las configuraciones a Printer.Print() o Printer.PrintAsync()
  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 PDF on A4 paper
    Printer.Print("report.pdf", new PrintSettings
    {
        PaperSize = PaperSize.A4
    });
  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 el tamaño del papel al imprimir en C#?

Establecemos el tamaño del papel asignando un valor del enumerador PaperSize a la propiedad PaperSize en un objeto PrintSettings. Luego pasamos ese objeto a cualquiera de los métodos de impresión de IronPrint.

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

// Configure print settings with US Letter paper
PrintSettings settings = new PrintSettings();
settings.PaperSize = PaperSize.Letter;

// Send the document to the default printer
Printer.Print("invoice.pdf", settings);
Imports IronPrint

' Configure print settings with US Letter paper
Dim settings As New PrintSettings()
settings.PaperSize = PaperSize.Letter

' Send the document to the default printer
Printer.Print("invoice.pdf", settings)
$vbLabelText   $csharpLabel

Primero, instanciamos PrintSettings, que se inicializa con los valores predeterminados de la impresora. Luego, sobrescribimos PaperSize con PaperSize.Letter, que se mapea al formato estándar de 8.5 × 11 pulgadas. Cuando llamamos a Printer.Print, IronPrint envía el documento a la impresora predeterminada del sistema usando ese tamaño de papel.

Si no se especifica PaperSize, IronPrint utiliza PaperSize.PrinterDefault, que se remite al tamaño de papel que la impresora predeterminada del sistema operativo está configurada para usar. Este es un detalle esencial para entornos de producción donde las configuraciones de las impresoras varían entre máquinas.

¿Qué tamaños de papel soporta la biblioteca?

El enumerador PaperSize incluye doce valores que cubren estándares internacionales ISO, tamaños comunes de EE. UU. y el predeterminado de la impresora. La tabla a continuación enumera cada opción disponible.

Valor de Enum Estándar Dimensiones (mm) Dimensiones (en)
PaperSize.A0 ISO A0 841 × 1189 33.1 × 46.8
PaperSize.A1 ISO A1 594 × 841 23.4 × 33.1
PaperSize.A2 ISO A2 420 × 594 16.5 × 23.4
PaperSize.A3 ISO A3 297 × 420 11.7 × 16.5
PaperSize.A4 ISO A4 210 × 297 8.3 × 11.7
PaperSize.A5 ISO A5 148 × 210 5.8 × 8.3
PaperSize.B4 ISO B4 250 × 353 9.8 × 13.9
PaperSize.B5 ISO B5 176 × 250 6.9 × 9.8
PaperSize.Letter Carta para EE.UU 216 × 279 8.5 × 11.0
PaperSize.Legal US Legal 216 × 356 8.5 × 14.0
PaperSize.Executive US Executive 184 × 267 7.25 × 10.5
PaperSize.PrinterDefault Predeterminado de la impresora Varía Varía

Cada valor se asocia directamente con un estándar de papel bien conocido. La opción PrinterDefault indica a IronPrint que use el tamaño para el que actualmente está configurada la impresora, lo que es útil cuando se desea respetar las preferencias del usuario final en lugar de imponer un formato específico.

Para una referencia completa de la API, consulte la documentación de la clase PaperSize.

¿Cómo combino el tamaño del papel con otras configuraciones de impresión?

La clase PrintSettings expone varias propiedades más allá de PaperSize. Podemos configurar la orientación, DPI, márgenes, cantidad de copias y modo en escala de grises, todo en un solo objeto.

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

// Build a fully configured print job
PrintSettings settings = new PrintSettings
{
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    Dpi = 300,
    NumberOfCopies = 3,
    PaperMargins = new Margins(15, 15, 15, 15),
    Grayscale = false
};

// Print a multi-page report with these settings
Printer.Print("quarterly-report.pdf", settings);
Imports IronPrint

' Build a fully configured print job
Dim settings As New PrintSettings With {
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Landscape,
    .Dpi = 300,
    .NumberOfCopies = 3,
    .PaperMargins = New Margins(15, 15, 15, 15),
    .Grayscale = False
}

' Print a multi-page report with these settings
Printer.Print("quarterly-report.pdf", settings)
$vbLabelText   $csharpLabel

Usamos la sintaxis del inicializador de objetos aquí para mayor claridad. PaperOrientation.Landscape gira la hoja A4 a su eje más ancho. Dpi a 300 garantiza una salida nítida para gráficos y texto fino. PaperMargins acepta cuatro valores en milímetros: superior, derecho, inferior, izquierdo, a través del constructor Margins. La propiedad Grayscale tiene como valor predeterminado false, pero lo configuramos explícitamente para mayor legibilidad.

Estas propiedades funcionan juntas sin conflicto. IronPrint valida la configuración y pasa las configuraciones combinadas al controlador de la impresora como un solo trabajo de impresión. Para configuraciones más avanzadas, como la selección de la impresora y la configuración de la bandeja, consulte la guía completa de configuraciones de impresión.

¿Cómo imprimo de forma asincrónica con un tamaño de papel personalizado?

Para aplicaciones donde bloquear el hilo principal no es una opción, como aplicaciones WPF o WinForms, usamos Printer.PrintAsync. El método acepta el mismo objeto PrintSettings y devuelve un Task.

:path=/static-assets/print/content-code-examples/how-to/set-paper-size/set-paper-size-async-print.cs
using IronPrint;
using System.Threading.Tasks;

public class DocumentPrinter
{
    public async Task PrintLegalDocumentAsync(string filePath)
    {
        // Configure Legal paper size for contracts and legal documents
        PrintSettings settings = new PrintSettings
        {
            PaperSize = PaperSize.Legal,
            PaperOrientation = PaperOrientation.Portrait,
            Dpi = 300
        };

        // Print without blocking the UI thread
        await Printer.PrintAsync(filePath, settings);
    }
}
Imports IronPrint
Imports System.Threading.Tasks

Public Class DocumentPrinter
    Public Async Function PrintLegalDocumentAsync(filePath As String) As Task
        ' Configure Legal paper size for contracts and legal documents
        Dim settings As New PrintSettings With {
            .PaperSize = PaperSize.Legal,
            .PaperOrientation = PaperOrientation.Portrait,
            .Dpi = 300
        }

        ' Print without blocking the UI thread
        Await Printer.PrintAsync(filePath, settings)
    End Function
End Class
$vbLabelText   $csharpLabel

Este ejemplo basado en clases demuestra un patrón realista donde un servicio DocumentPrinter envuelve la lógica de impresión. Configuramos PaperSize.Legal (8.5 × 14 pulgadas), que es el formato estándar para contratos y presentaciones legales. La palabra clave await asegura que el hilo que llama permanezca receptivo mientras IronPrint procesa el trabajo de impresión.

Podemos llamar a este método desde un controlador de clic de botón, un servicio en segundo plano o en cualquier lugar donde se soporte await. Los métodos asincrónicos de IronPrint, incluyendo PrintAsync y ShowPrintDialogAsync, aceptan la misma configuración PrintSettings, por lo que el comportamiento del tamaño del papel es idéntico entre las rutas sincrónicas y asincrónicas.

¿Cuales son mis próximos pasos?

Cubrimos cómo establecer el tamaño del papel en C# utilizando el enumerador PaperSize de IronPrint, desde la configuración básica de una sola propiedad hasta configuraciones combinadas e impresión asincrónica. La clase PrintSettings proporciona una API limpia y fuertemente tipada que elimina las conjeturas sobre las dimensiones del papel.

Para continuar explorando las capacidades de IronPrint:

Comience una prueba gratuita de 30 días para probar la configuración del tamaño de papel en sus propios proyectos o vea las opciones de licencia para la implementación en producción.

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.