Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Das Drucken von PDF-Dateien direkt aus einer C#-Anwendung kann eine wertvolle Funktion sein, insbesondere bei der Entwicklung von Anwendungen, die eine nahtlose Integration mit physischen PDF-Dokumenten erfordern. Egal, ob Sie an einem PDF-Dokumentenverwaltungssystem, einer Point-of-Sale-Anwendung oder einer anderen Software arbeiten, die mit dem Drucken zu tun hat, C# bietet eine Reihe von robusten Bibliotheken, die diese PDF-Druckmethodenfunktionalität erleichtern.
Zu diesem Zweck bietet Microsoft C# eine Druckmethode um PDF-Dateien auf einem Standarddrucker zu drucken. In diesem Artikel werden wir die Schritte zum Drucken einer PDF-Datei auf einem Drucker mit C# erkunden.
Erstellen einer C# Windows Forms-Anwendung
Importieren Sie System.Drawing.Printing mit dem Schlüsselwort
Gestalten Sie das Formular mit einer Schaltfläche und anderen notwendigen Steuerelementen
Behandlung des Ereignisses PrintDocument mit dem Ereignis PrintPage
Auftrag Drucken einleiten
Bevor Sie beginnen, sollten Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind:
Eine C#-Entwicklungsumgebung (z.B. Visual Studio).
Ausreichende Berechtigungen für die Interaktion mit Druckern.
Erstellen Sie ein neues C#-Projekt oder öffnen Sie ein bestehendes Projekt in Ihrer bevorzugten Entwicklungsumgebung. Vergewissern Sie sich, dass Ihr Projekt korrekt konfiguriert ist und Sie über die erforderlichen Berechtigungen für Druckerinteraktionen verfügen. Mit dem folgenden Verfahren können Sie diesen Prozess abschließen:
Wenn Sie Visual Studio nicht installiert haben, können Sie es von der offiziellen Website herunterladen und installieren: Visuelles Studio.
Öffnen Sie Visual Studio.
Wählen Sie im Dialog "Neues Projekt erstellen" die Option "Windows Forms App (.NET-Framework)"oder "Windows Forms-Anwendung (.NET Core)" je nach Vorliebe.
Geben Sie einen Namen und einen Standort für Ihr Projekt an.
Sobald das Projekt erstellt ist, wird das Hauptformular im Designer angezeigt.
Verwenden Sie die Toolbox, um Ihrem Formular nach Bedarf Steuerelemente wie Schaltflächen, Textfelder, Beschriftungen usw. hinzuzufügen.
Importieren Sie in Ihrer C#-Codedatei die erforderlichen Namespaces, um auf die Klassen und Methoden im Zusammenhang mit dem Drucken zuzugreifen.
using System.Drawing.Printing;
using System.Drawing.Printing;
Imports System.Drawing.Printing
Diese Namespaces bieten wichtige Klassen wie PrintDocument, PrintPageEventArgs und PrintController für die Handhabung von Druckvorgängen.
Die Klasse PrintDocument ist ein Grundstein für das Drucken in C#. Behandeln Sie das Ereignis PrintPage, um festzulegen, welcher Inhalt gedruckt und wie er formatiert werden soll. Beginnen wir mit einem einfachen Beispiel für das Drucken des Inhalts einer Textdatei:
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
// Specify the file path
string filePath = "C:\\path\\to\\your\\file.txt";
// Read the content of the file
string line = System.IO.File.ReadAllText(filePath);
// Create a Font object (adjust as needed)
Font font = new Font("Arial", 12);
// Create a RectangleF to define the printing area
RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
// Draw the content to the printing area
e.Graphics.DrawString(line, font, Brushes.Black, area);
// Set HasMorePages to false to indicate that there are no more pages to print
e.HasMorePages = false;
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
// Specify the file path
string filePath = "C:\\path\\to\\your\\file.txt";
// Read the content of the file
string line = System.IO.File.ReadAllText(filePath);
// Create a Font object (adjust as needed)
Font font = new Font("Arial", 12);
// Create a RectangleF to define the printing area
RectangleF area = new RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height);
// Draw the content to the printing area
e.Graphics.DrawString(line, font, Brushes.Black, area);
// Set HasMorePages to false to indicate that there are no more pages to print
e.HasMorePages = false;
}
Private Sub printDocument1_PrintPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
' Specify the file path
Dim filePath As String = "C:\path\to\your\file.txt"
' Read the content of the file
Dim line As String = System.IO.File.ReadAllText(filePath)
' Create a Font object (adjust as needed)
Dim font As New Font("Arial", 12)
' Create a RectangleF to define the printing area
Dim area As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height)
' Draw the content to the printing area
e.Graphics.DrawString(line, font, Brushes.Black, area)
' Set HasMorePages to false to indicate that there are no more pages to print
e.HasMorePages = False
End Sub
Dieses Beispiel liest den Inhalt einer Textdatei und druckt ihn unter Verwendung der angegebenen Schriftart und Formatierung aus.
Starten Sie den Druckauftrag, indem Sie eine Instanz der Klasse PrintDocument erstellen, den Ereignishandler PrintPage anhängen und dann den Druckvorgang auslösen. Optional können Sie einen Druckdialog für die Benutzerkonfiguration anzeigen:
private void btnPrint_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
// Optionally, display a print dialog for user configuration
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
pd.PrinterSettings = printDialog.PrinterSettings;
pd.Print();
}
}
private void btnPrint_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(printDocument1_PrintPage);
// Optionally, display a print dialog for user configuration
PrintDialog printDialog = new PrintDialog();
if (printDialog.ShowDialog() == DialogResult.OK)
{
pd.PrinterSettings = printDialog.PrinterSettings;
pd.Print();
}
}
Private Sub btnPrint_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim pd As New PrintDocument()
AddHandler pd.PrintPage, AddressOf printDocument1_PrintPage
' Optionally, display a print dialog for user configuration
Dim printDialog As New PrintDialog()
If printDialog.ShowDialog() = DialogResult.OK Then
pd.PrinterSettings = printDialog.PrinterSettings
pd.Print()
End If
End Sub
Dieser Code erstellt eine PrintDocument-Instanz, fügt den PrintPage-Ereignishandler hinzu und druckt dann das Dokument. Der optionale Druckdialog ermöglicht es dem Benutzer, die Druckeinstellungen zu konfigurieren, bevor der Druckauftrag gestartet wird. Damit wird das Textdokument auf einem lokal angeschlossenen Drucker ausgedruckt. Ist er nicht vorhanden, wird die Datei auf dem Standarddrucker ausgedruckt (Microsoft Print to PDF) im Dialogfeld Drucken, wie unten gezeigt:
Wenn es darum geht, Druckfunktionen in C#-Konsolenanwendungen effizient und effektiv zu handhaben, bietet die IronPrint-Bibliothek eine leistungsstarke Lösung.
IronPrint ist eine umfassende, von Iron Software entwickelte Druckbibliothek, die für die nahtlose Integration in .NET-Anwendungen konzipiert ist. Egal, ob Sie an einem Desktop-, Web- oder mobilen Projekt arbeiten, IronPrint bietet vielseitige Funktionen zum Drucken von PDF-Dokumenten, unterstützt verschiedene Dateiformate und bietet anpassbare Druckeinstellungen.
Formatunterstützung: IronPrint unterstützt eine Vielzahl von Dokumentenformaten, darunter PDF, PNG, HTML, TIFF, GIF, JPEG und BITMAP. Diese Vielseitigkeit stellt sicher, dass die Entwickler mit verschiedenen Arten von Inhalten für den Druck arbeiten können.
Anpassbare Einstellungen: Entwickler haben die Flexibilität, die Druckeinstellungen entsprechend den Anforderungen ihrer Anwendung anzupassen. Dazu gehören Optionen zur Einstellung der DPI (punkte pro Zoll), Papierausrichtung angeben (hoch- oder Querformat)und kontrollieren die Anzahl der Kopien.
Druckdialog: IronPrint ermöglicht eine nahtlose Benutzererfahrung, indem es Entwicklern erlaubt, einen Druckdialog vor dem Drucken anzuzeigen. Dies kann in Szenarien nützlich sein, in denen die Benutzer mit dem Druckprozess interagieren und bestimmte Optionen auswählen müssen.
Plattformübergreifende Kompatibilität: IronPrint geht über die Plattformgrenzen hinaus und bietet Kompatibilität mit einer Vielzahl von Umgebungen, einschließlich Windows (7+), macOS (10+), iOS (11+)und Android API 21+ (v5 "Lollipop"). Es integriert sich nahtlos in verschiedene Projekttypen wie Mobile (Xamarin, MAUI und Avalonia)desktop (WPF, MAUI und Windows Avalonia)und Konsole (App & Bibliothek).
Bevor Sie mit dem Drucken von Dateien beginnen, müssen Sie die IronPrint-Bibliothek installieren. Sie können dies ganz einfach über die NuGet Package Manager Console tun:
Install-Package IronPrint
Mit dieser Befehlszeile wird die IronPrint-Bibliothek heruntergeladen und in Ihrem C#-Projekt installiert.
Sobald IronPrint installiert ist, müssen Sie es in Ihrem C#-Code initialisieren. Importieren Sie den IronPrint-Namensraum und setzen Sie den Lizenzschlüssel, um die ordnungsgemäße Funktionalität sicherzustellen:
using IronPrint;
class Program
{
public static void Main()
{
License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
}
}
using IronPrint;
class Program
{
public static void Main()
{
License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
}
}
Imports IronPrint
Friend Class Program
Public Shared Sub Main()
License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
End Sub
End Class
Das Drucken einer Datei mit IronPrint ist ganz einfach. Sie können die Drucker klasse, die den Dateipfad für die Print-Methode angibt, um PDF-Dateien unauffällig zu drucken:
using IronPrint;
class Program
{
// static void main
public static void Main()
{
License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
// Specify the file path
var document = "C:\\path\\to\\your\\file.pdf";
// Print PDFs
Printer.Print(document);
}
}
using IronPrint;
class Program
{
// static void main
public static void Main()
{
License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
// Specify the file path
var document = "C:\\path\\to\\your\\file.pdf";
// Print PDFs
Printer.Print(document);
}
}
Imports IronPrint
Friend Class Program
' static void main
Public Shared Sub Main()
License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
' Specify the file path
Dim document = "C:\path\to\your\file.pdf"
' Print PDFs
Printer.Print(document)
End Sub
End Class
Dieses Beispiel demonstriert den Druck einer PDF-Datei, aber IronPrint unterstützt eine Vielzahl von Dateiformaten, einschließlich PDF, PNG, HTML, TIFF, GIF, JPEG, IMAGE und BITMAP.
IronPrint ermöglicht Ihnen die Anpassung von Druckeinstellungen je nach den Anforderungen Ihrer Anwendung. Mit der Klasse PrintSettings können Sie Einstellungen wie DPI, Anzahl der Kopien, Papierausrichtung und vieles mehr konfigurieren. Mit dem folgenden Codebeispiel können Sie die Seiteneinstellungen festlegen und PDF-Dokumente drucken:
using IronPrint;
class Program
{
public static void Main()
{
IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
Console.WriteLine("Printing Started...");
// Specify the file path
string filePath = "C:\\path\\to\\your\\file.pdf";
// Configure print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 300;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Landscape;
// Print the document with custom settings
Printer.Print(filePath, printSettings);
// Print using the Print dialog
Printer.ShowPrintDialog(filePath, printSettings);
}
}
using IronPrint;
class Program
{
public static void Main()
{
IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY";
Console.WriteLine("Printing Started...");
// Specify the file path
string filePath = "C:\\path\\to\\your\\file.pdf";
// Configure print settings
PrintSettings printSettings = new PrintSettings();
printSettings.Dpi = 300;
printSettings.NumberOfCopies = 2;
printSettings.PaperOrientation = PaperOrientation.Landscape;
// Print the document with custom settings
Printer.Print(filePath, printSettings);
// Print using the Print dialog
Printer.ShowPrintDialog(filePath, printSettings);
}
}
Imports IronPrint
Friend Class Program
Public Shared Sub Main()
IronPrint.License.LicenseKey = "YOUR_IRONPRINT_LICENSE_KEY"
Console.WriteLine("Printing Started...")
' Specify the file path
Dim filePath As String = "C:\path\to\your\file.pdf"
' Configure print settings
Dim printSettings As New PrintSettings()
printSettings.Dpi = 300
printSettings.NumberOfCopies = 2
printSettings.PaperOrientation = PaperOrientation.Landscape
' Print the document with custom settings
Printer.Print(filePath, printSettings)
' Print using the Print dialog
Printer.ShowPrintDialog(filePath, printSettings)
End Sub
End Class
So sieht die Ausgabe aus:
Wenn der physische Drucker nicht installiert ist, wird der Standarddrucker zum Drucken von PDF-Dokumenten verwendet. Um alle verfügbaren Drucker zu erhalten, können Sie auch GetPrinterNames methode.
// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
Console.WriteLine(printer);
}
// Retrieve printers' name
List<string> printersName = Printer.GetPrinterNames();
foreach (string printer in printersName)
{
Console.WriteLine(printer);
}
' Retrieve printers' name
Dim printersName As List(Of String) = Printer.GetPrinterNames()
For Each printer As String In printersName
Console.WriteLine(printer)
Next printer
Ausführlichere Informationen finden Sie auf der Website Dokumentation seite.
Das Drucken von Dateien in C# ist mit den Möglichkeiten des System.Drawing.Printing-Namespace eine überschaubare Aufgabe. Durch die Behandlung des Ereignisses PrintPage und die Verwendung der Klasse PrintDocument können Sie den Druckvorgang an Ihre spezifischen Anforderungen anpassen. Dieses umfassende Handbuch behandelt die grundlegenden Schritte zum Drucken von Dateien aus einer C#-Anwendung und bietet Ihnen eine solide Grundlage für die Integration dieser Funktionalität in Ihre Projekte. Bei unseren weiteren Untersuchungen haben wir uns bei IronPrint nach zusätzlichen Anpassungsmöglichkeiten umgesehen, z. B. bei der Verarbeitung verschiedener Dateitypen, der Einbindung von Bildern und der Verbesserung der Formatierung je nach den Anforderungen der Anwendung.
Die Integration von IronPrint in Ihre C#-Anwendung vereinfacht den Prozess des Druckens von Dateien auf einem Drucker. Mit der Unterstützung verschiedener Dateiformate und anpassbarer Druckeinstellungen bietet IronPrint eine robuste Lösung für Entwickler, die ihre Druckfunktionen erweitern möchten. Ganz gleich, ob Sie an einem Desktop-, Web- oder Mobilprojekt arbeiten, IronPrint rationalisiert den Druckprozess und ist damit eine wertvolle Ergänzung zu Ihrem .NET-Toolkit.
IronPrint bietet eine kostenlos testen seite für weitere Informationen. Laden Sie die Bibliothek herunter von *hier und probieren Sie es aus.
9 .NET API-Produkte für Ihre Bürodokumente