C# Imprimer des documents PDF

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

Vous pouvez facilement imprimer un PDF dans des applications .NET à l'aide d'un code Visual Basic ou C#. Ce tutoriel vous expliquera comment utiliser les capacités d'impression PDF de C# pour imprimer de manière programmatique.



Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Bibliothèque NuGet C# pour PDF

Installer avec NuGet

Install-Package IronPdf
ou
Java PDF JAR

Télécharger DLL

Télécharger la DLL

Installation manuelle dans votre projet

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Découvrez IronPDF sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme PDF avec C#.

Bibliothèque NuGet C# pour PDF nuget.org/packages/IronPdf/
Install-Package IronPdf

Envisagez d'installer le IronPDF DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}

Installation manuelle dans votre projet

Télécharger la DLL

Créer un PDF et l'imprimer

Vous pouvez envoyer un document PDF directement à une imprimante de manière silencieuse ou créer un fichier System.Drawing.Printing.PrintDocument qui peut être utilisé et envoyé aux boîtes de dialogue d'impression de l'interface graphique.

Le code suivant peut être utilisé pour les deux options :

:path=/static-assets/pdf/content-code-examples/how-to/csharp-print-pdf-create-and-print-pdf.cs
using IronPdf;
using System.Threading.Tasks;

// Create a new PDF and print it
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Print PDF from default printer
await pdf.Print();

// For advanced silent real-world printing options, use PdfDocument.GetPrintDocument
// Remember to add an assembly reference to System.Drawing.dll
System.Drawing.Printing.PrintDocument PrintDocYouCanWorkWith = pdf.GetPrintDocument();
Imports IronPdf
Imports System.Threading.Tasks

' Create a new PDF and print it
Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

' Print PDF from default printer
Await pdf.Print()

' For advanced silent real-world printing options, use PdfDocument.GetPrintDocument
' Remember to add an assembly reference to System.Drawing.dll
Dim PrintDocYouCanWorkWith As System.Drawing.Printing.PrintDocument = pdf.GetPrintDocument()
VB   C#

Impression avancée

IronPDF est tout à fait capable de gérer des fonctions d'impression avancées telles que la recherche du nom de l'imprimante ou son paramétrage et le réglage de la résolution de l'imprimante.

Spécifier le nom de l'imprimante

Pour spécifier le nom de l'imprimante, il suffit de récupérer l'objet document d'impression en cours (avec l'utilisation de l'outil GetPrintDocument du document PDF)utilisez alors la propriété PrinterSettings.PrinterName, comme suit :

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

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Get PrintDocument object
var printDocument = pdf.GetPrintDocument();

// Assign the printer name
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF";

// Print document
printDocument.Print();
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Get PrintDocument object
Private printDocument = pdf.GetPrintDocument()

' Assign the printer name
printDocument.PrinterSettings.PrinterName = "Microsoft Print to PDF"

' Print document
printDocument.Print()
VB   C#

Définir la résolution de l'imprimante

La résolution fait référence au nombre de pixels imprimés ou affichés, en fonction de la sortie. Vous pouvez définir la résolution de votre impression par IronPDF en utilisant la fonction DefaultPageSettings.PrinterResolution du document PDF. Voici une démonstration très rapide :

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

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Get PrintDocument object
var printDocument = pdf.GetPrintDocument();

// Set printer resolution
printDocument.DefaultPageSettings.PrinterResolution = new PrinterResolution
{
    Kind = PrinterResolutionKind.Custom,
    X = 1200,
    Y = 1200
};

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

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Get PrintDocument object
Private printDocument = pdf.GetPrintDocument()

' Set printer resolution
printDocument.DefaultPageSettings.PrinterResolution = New PrinterResolution With {
	.Kind = PrinterResolutionKind.Custom,
	.X = 1200,
	.Y = 1200
}

' Print document
printDocument.Print()
VB   C#

Comme vous pouvez le voir, j'ai réglé la résolution à un niveau personnalisé : 1200 vertical et 1200 horizontal.

Méthode PrintToFile

La méthode PdfDocument.PrintToFile vous permet d'imprimer le PDF dans un fichier. Il vous suffit de fournir le chemin d'accès au fichier de sortie et de préciser si vous souhaitez ou non obtenir un aperçu. Le code ci-dessous imprime dans le fichier spécifié sans inclure d'aperçu :

:path=/static-assets/pdf/content-code-examples/how-to/csharp-print-pdf-printtofile.cs
using IronPdf;
using System.Threading.Tasks;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

await pdf.PrintToFile("PathToFile", false);
Imports IronPdf
Imports System.Threading.Tasks

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

Await pdf.PrintToFile("PathToFile", False)
VB   C#

Traçage des processus d'impression à l'aide de C# ;

La beauté de C# en conjonction avec IronPDF est que lorsqu'il s'agit de garder une trace des pages imprimées, ou de tout ce qui est lié à l'impression, c'est en fait très simple. Dans l'exemple suivant, je montrerai comment changer le nom de l'imprimante, la résolution et comment obtenir le nombre de pages imprimées.

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

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Get PrintDocument object
var printDocument = pdf.GetPrintDocument();

// Subscribe to the PrintPage event
var printedPages = 0;
printDocument.PrintPage += (sender, args) => printedPages++;

// Print document
printDocument.Print();
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Get PrintDocument object
Private printDocument = pdf.GetPrintDocument()

' Subscribe to the PrintPage event
Private printedPages = 0
Private printDocument.PrintPage += Sub(sender, args) printedPages++

' Print document
printDocument.Print()
VB   C#