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 und geräuschlos an einen Drucker senden oder eineSystem.Drawing.Printing.PrintDocument objekt, 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 festzulegen, müssen Sie lediglich das aktuelle Druckdokumentobjekt abrufen(mit der Verwendung desGetPrintDocument-Methode für PDF-Dokumente des PDF-Dokuments)verwenden Sie dann die Eigenschaft PrinterSettings.PrinterName 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 Drucks mit Hilfe der Optioneigenschaft DefaultPageSettings.PrinterResolution
des PDF-Dokuments. 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
Mit der Methode PdfDocument.PrintToFile
können Sie das PDF-Dokument in eine Datei drucken. Sie geben einfach den Ausgabedateipfad 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()