Cómo imprimir archivos PDF

por Chaknith Bin

El envío de un PDF a una impresora desde código .NET C# automatiza el proceso de impresión, lo que le permite integrar funciones de impresión en sus aplicaciones, reducir los esfuerzos manuales y garantizar la coherencia en la producción de archivos PDF. Proporciona un control preciso del proceso de impresión.

IronPDF ofrece la opción de imprimir rápidamente mediante programación a una impresora física en una llamada de método, lo que le permite imprimir varios archivos PDF. La resolución de la impresora también puede especificarse con PPP horizontales y verticales configurables. Utilice el método que acepta tanto Microsoft PrinterSettings como PrintController para obtener un mayor control sobre el proceso de impresión de PDF.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Imprimir archivo PDF Ejemplo

Se puede acceder al método Print desde el objeto PdfDocument. Tanto los archivos PDF recién creados como los ya existentes pueden imprimirse con este método. Invoca el método Print para imprimir un PDF utilizando la impresora predeterminada de la máquina. Sin embargo, puede imprimir en una impresora específica proporcionando el nombre de la impresora como cadena al método Print.

Tenga en cuenta
Todas las funciones de impresión sólo son compatibles con 'Windows'.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

//  Enviar el documento a la impresora "Microsoft Print to PDF
pdf.Print("Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

'  Enviar el documento a la impresora "Microsoft Print to PDF
pdf.Print("Microsoft Print to PDF")
VB   C#
Cola de impresión

Resolución de la impresora

Especifique la resolución del archivo PDF impreso pasando el número de PPP deseado al método Print. Esto establecerá un DPI igual para vertical y horizontal. En caso de que se deseen diferentes valores de PPP para la vertical y la horizontal, se pueden especificar dos parámetros, donde el primer número será para la horizontal (x)y la segunda para la vertical (y).

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

//  Establecer PPP personalizados
pdf.Print(300);

//  Especifique la resolución de impresión
pdf.Print(10, 10, "Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

'  Establecer PPP personalizados
pdf.Print(300)

'  Especifique la resolución de impresión
pdf.Print(10, 10, "Microsoft Print to PDF")
VB   C#

Veamos cómo rasterizar e imprimir un archivo PDF en el siguiente ejemplo.


Imprimir en archivo

El método PrintToFile es una forma rápida de rasterizar documentos PDF, convirtiéndolos en un mapa de bits. (basado en píxeles) antes de guardarlos como archivo PDF. Esta rasterización la realiza la impresora integrada de Windows; en mi caso, es el "Microsoft Print to PDF". Este método sólo imprime el archivo PDF en el disco y no lo envía a una impresora física.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

//  Imprimir en archivo
pdf.PrintToFile("");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

'  Imprimir en archivo
pdf.PrintToFile("")
VB   C#

Explorar la configuración de impresión de documentos PDF

Para configurar aún más las opciones de impresión, utilice el método GetPrintDocument, que acepta tanto Microsoft PrinterSettings como PrintController. El método GetPrintDocument devuelve el objeto documento de impresión actual. Las opciones de PrinterSettings se describen debajo del ejemplo de código, mientras que PrintController se puede utilizar para personalizar cómo se ejecuta la impresión y proporciona opciones para manejar excepciones e informes de progreso, como el diálogo de impresión, la vista previa de impresión, el seguimiento de los procesos de impresión y otras tareas relacionadas con la impresión.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");

PrinterSettings settings = new PrinterSettings() {
    PrinterName = "Microsoft Print to PDF",

    //  Número de copias
    Copies = 2,

    //  Intervalo de páginas a imprimir
    FromPage = 2,
    ToPage = 4,
};

PrintDocument document = pdf.GetPrintDocument(settings);

//  Imprimir
document.Print();
Imports IronPdf
Imports System.Drawing.Printing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Testing</h1>")

Private settings As New PrinterSettings() With {
	.PrinterName = "Microsoft Print to PDF",
	.Copies = 2,
	.FromPage = 2,
	.ToPage = 4
}

Private document As PrintDocument = pdf.GetPrintDocument(settings)

'  Imprimir
document.Print()
VB   C#
  • CanDuplex: Indica si la impresora admite impresión a doble cara. (doble cara) impresión. Si es verdadero, es posible imprimir en ambas caras del papel; de lo contrario, no puede.
  • Intercalar: Especifica si se deben intercalar varios archivos pdf o copias de un documento pdf. (organizados en orden) cuando se imprime. Si es verdadero, la impresora intercala las copias; cuando es falso, no lo hace.
  • Copias: Establece el número de copias del documento PDF que se imprimirán. Determina cuántas copias idénticas del documento se imprimirán.
  • ConfiguraciónPáginaPredeterminada: Representa la configuración de página predeterminada de la impresora, incluidos el tamaño del papel, los márgenes y la orientación.
  • Dúplex: Especifica el dúplex (doble cara) modo de impresión a utilizar. Las opciones incluyen Dúplex.Predeterminado, Dúplex.Simplex (una cara)dúplex horizontal y dúplex vertical.
  • ImpresorasInstaladas: Proporciona una colección de nombres de impresoras instaladas en el sistema. Puede iterar a través de esta colección para obtener los nombres de las impresoras disponibles.
  • IsDefaultPrinter: Indica si la impresora especificada en PrinterName está configurada como impresora predeterminada en el sistema.
  • IsPlotter: Determina si la impresora es un plotter. Las impresoras plóter se utilizan a menudo para la impresión de gran formato, como los planos arquitectónicos o de ingeniería.
  • EsVálido: Indica si la configuración de la impresora es válida y puede utilizarse para imprimir archivos PDF.
  • LandscapeAngle: Especifica el ángulo (rotación) de orientación horizontal para la impresora, normalmente 90 grados para vertical.
  • Número máximo de copias: Representa el número máximo de copias que se pueden especificar para imprimir PDF.
  • Página máxima: Especifica el número máximo de páginas que se puede establecer para la impresión o conversión.
  • Página mínima: Especifica el número mínimo de página que se puede establecer para la impresión o conversión.
  • TamañosPapel: Proporciona una colección de tamaños de papel admitidos para la impresora. Puede consultar esta colección para determinar los tamaños de papel disponibles.
  • Fuentes de Papel: Ofrece una colección de fuentes de papel o bandejas disponibles para la impresora. Esto puede ser útil al seleccionar la fuente de papel para imprimir archivos PDF.
  • NombreImpresora: Especifica el nombre de la impresora a utilizar para la impresión o conversión.
  • Resoluciones de impresora: Proporciona una colección de resoluciones de impresora disponibles, permitiéndole elegir la calidad de impresión.
  • ImprimirNombreArchivo: Obtiene o establece el nombre del archivo cuando se imprime a un archivo utilizando PrintToFile.
  • Rango de impresión: Especifica el rango de páginas PDF a imprimir, como todas las páginas, un rango específico o una selección. Utilícelo para imprimir páginas específicas.
  • DesdePágina: Especifica el número de página inicial para la impresión o conversión. La impresión comenzará desde esta página.
  • APágina: Especifica el número de página final para la impresión o conversión. La impresión se detendrá al llegar a esta página.
  • PrintToFile: Indica si se debe imprimir en un archivo en lugar de en una impresora física. Cuando es verdadero, puede especificar la ruta del archivo utilizando PrintFileName.
  • AdmiteColor: Indica si la impresora admite la impresión en color. Si es verdadero, se puede imprimir en color; de lo contrario, se limita a blanco y negro (monocromo) impresión.

    Por último, para configurar la impresora predeterminada para imprimir PDF, puede ir a la sección "Impresoras y escáneres" de la configuración de la máquina.

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.