C# PDF-Dokumente drucken
Sie können ein PDF in .NET-Anwendungen mit Hilfe von Visual Basic- oder C#-Code problemlos drucken. In diesem Tutorial erfahren Sie, wie Sie die C#-Funktionen zum Drucken von PDF-Dateien programmgesteuert nutzen können.
Wie man PDF-Dateien in C# druckt

- Laden Sie die C#-Bibliothek "Print to PDF" herunter
- Wählen Sie eine PDF-Datei von Ihrem Computer
- Wählen Sie einen bestimmten Drucker zum Drucken und stellen Sie die Auflösung ein
- Überprüfen Sie die PDF-Ausgabe auf Ihrem Drucker
- Verfolgen Sie Ihre Druckprozesse mit C#
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
PDF erstellen und drucken
Sie können ein PDF-Dokument direkt leise an einen Drucker senden oder ein System.Drawing.Printing.PrintDocument-Objekt erstellen, mit dem gearbeitet werden kann und das an GUI-Druckdialoge gesendet werden kann.
Der folgende Code kann für beide Optionen verwendet werden:
: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()
Fortgeschrittener Druck
IronPDF ist durchaus in der Lage, fortgeschrittene Druckfunktionen wie die Suche nach dem Druckernamen oder dessen Einstellung und die Einstellung der Druckerauflösung zu bewältigen.
Druckername angeben
Um den Druckernamen anzugeben, müssen Sie lediglich das aktuelle Druckdokumentobjekt abrufen (mit der Verwendung der GetPrintDocument-Methode für PDF-Dokumente des PDF-Dokuments) und dann die PrinterSettings.PrinterName-Eigenschaft verwenden, wie folgt:
: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()
Druckerauflösung einstellen
Die Auflösung bezieht sich auf die Anzahl der Pixel, die gedruckt oder angezeigt werden, je nach Ausgabe. Sie können die Auflösung Ihres Druckens festlegen, indem Sie die DefaultPageSettings.PrinterResolution
-Eigenschaft des PDF-Dokuments verwenden. Hier ist eine sehr schnelle Demonstration:
: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()
Wie Sie sehen können, habe ich die Auflösung auf ein benutzerdefiniertes Niveau eingestellt: 1200 vertikal und 1200 horizontal.
PrintToFile-Methode
Die Methode PdfDocument.PrintToFile
ermöglicht es Ihnen, das PDF in eine Datei zu drucken. Sie geben einfach den Ausgabepfad an und legen fest, ob Sie eine Vorschau sehen möchten oder nicht. Der unten stehende Code wird in die angegebene Datei gedruckt, ohne eine Vorschau zu enthalten:
: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)
Verfolgung von Druckvorgängen mit C#
Das Schöne an C# in Verbindung mit IronPDF ist, dass es eigentlich ganz einfach ist, den Überblick über gedruckte Seiten oder alles, was mit Drucken zu tun hat, zu behalten. Im nächsten Beispiel werde ich zeigen, wie man den Namen des Druckers und die Auflösung ändert und wie man die Anzahl der gedruckten Seiten ermittelt.
: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()