C# Imprimer des documents PDF
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.
Comment imprimer des fichiers PDF en C#
- Télécharger la bibliothèque C# Print to PDF
- Choisissez un fichier PDF sur votre ordinateur
- Sélection d'une imprimante spécifique pour l'impression et définition de la résolution
- Vérifiez la sortie PDF de votre imprimante
- Suivez vos processus d'impression à l'aide de C#
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Créer un PDF et l'imprimer
Vous pouvez envoyer un document PDF directement à une imprimante de manière silencieuse ou créer un fichierSystem.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()
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'outilMéthode GetPrintDocument pour les documents PDF 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()
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 à l'aide de la fonctionpropriété DefaultPageSettings.PrinterResolution
(Paramètres de page par défaut) 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()
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 imprimera 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)
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 assez simple. Dans l'exemple suivant, je montrerai comment changer le nom de l'imprimante, la résolution ainsi que 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()