Zum Fußzeileninhalt springen
IRONPRINT VERWENDEN

Wie man PDFs in .NET ohne Adobe mit IronPrint druckt

Das Drucken von PDF-Dokumenten in VB .NET erfordert eine Bibliothek, die das Rendern, die Druckerkommunikation und die Einstellungsverwaltung übernimmt, ohne dass Sie Adobe Reader oder andere Drittanbieterabhängigkeiten installieren müssen. IronPrint löst dieses Problem mit einer übersichtlichen API, die unter Windows, macOS, Linux und mobilen Plattformen funktioniert. Dieser Leitfaden führt Sie durch jeden Schritt – von der Installation des Pakets bis zur Behebung häufiger Druckfehler –, damit Sie die PDF-Druckfunktion schnell und sicher in Ihre VB .NET Anwendung integrieren können.

Am Ende dieses Tutorials wissen Sie, wie Sie im Hintergrund drucken, den Windows-Druckdialog anzeigen, benutzerdefinierte Einstellungen wie DPI und Papierausrichtung anwenden, verfügbare Drucker auflisten und Ausnahmen elegant behandeln.

Wie installiert man IronPrint in einem VB .NET -Projekt?

Die Installation von IronPrint über den NuGet -Paketmanager dauert nur wenige Sekunden. Öffnen Sie Ihre Paketmanager-Konsole in Visual Studio und führen Sie aus:

Install-Package IronPrint

Fügen Sie nach der Installation den Namespace-Import am Anfang jeder zu druckenden Datei hinzu und wenden Sie dann Ihren Lizenzschlüssel an, bevor Sie eine IronPrint -Methode aufrufen:

Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
Imports IronPrint

' Apply your license key (get a free trial key at ironsoftware.com)
License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

IronPrint ist for .NET Framework 4.6.2 und höher sowie for .NET 6, 7, 8, 9 und 10 ausgelegt. Es enthält native Rendering-Engines für jede Plattform, sodass Sie weder Adobe Acrobat noch Ghostscript oder einen anderen PDF-Renderer installieren müssen. Das gleiche NuGet Paket funktioniert für Windows Forms, WPF, Konsolenanwendungen und ASP.NET Projekte, die in VB .NET geschrieben sind.

Unterstützte Dokumentformate sind unter anderem PDF, PNG, HTML, TIFF, GIF, JPEG und BMP. Den vollständigen Funktionsumfang können Sie in der Referenz zur einheitlichen Druck-API von IronPrint erkunden.

Weitere Informationen zur Lizenzierung und Aktivierung finden Sie in der IronPrint -Lizenzschlüsseldokumentation .

Wie druckt man eine PDF-Datei im Hintergrund in VB .NET?

Beim stillen Drucken wird ein Dokument direkt an einen Drucker gesendet, ohne dass Dialogfelder angezeigt werden. Dieser Modus ist unerlässlich für automatisierte Arbeitsabläufe, die Stapelverarbeitung von Rechnungen, Berichtgenerierungspipelines und den serverseitigen Dokumentendruck, bei dem kein Benutzer anwesend ist.

Laut Microsofts Dokumentation zum GDI+-Drucken in .NET besteht das traditionelle .NET Drucken darin, ein PrintDocument-Objekt zu erstellen, sich in PrintPage-Ereignisse einzuklinken und das Seitenlayout manuell zu handhaben. IronPrint beseitigt all diese Standardtexte:

Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
Imports IronPrint

Module SilentPrinting
    Sub Main()
        Dim pdfPath As String = "invoice.pdf"

        ' Print to the system default printer
        Printer.Print(pdfPath)

        ' Print to a specific printer by name
        Dim settings As New PrintSettings()
        settings.PrinterName = "Microsoft Print to PDF"
        Printer.Print(pdfPath, settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

Die Methode Printer.Print übernimmt die gesamte PDF-Darstellung intern. Wenn Sie Printer.Print(pdfPath) ohne das Argument PrintSettings aufrufen, wählt IronPrint automatisch den Systemstandarddrucker aus. Wenn Sie einem PrintSettings-Objekt einen PrinterName-Wert zuweisen, wird der Auftrag an dieses spezifische Gerät weitergeleitet.

Bei Batch-Szenarien können Sie eine Liste von Dateipfaden durchlaufen und für jeden Pfad Printer.Print aufrufen. Da IronPrint für den stillen Druckvorgang keinen UI-Thread öffnet, funktioniert es korrekt in Konsolenanwendungen, Windows-Diensten und ASP.NET Anforderungsbehandlern.

Für einen detaillierteren Einblick in die verfügbaren Optionen lesen Sie bitte die IronPrint Druckeinstellungen-Dokumentation .

Wie kann man den Druckdialog vor dem Drucken anzeigen?

Manchmal müssen Sie den Benutzern die Möglichkeit geben, einen Drucker auszuwählen, den Seitenbereich anzupassen oder die Anzahl der Kopien festzulegen, bevor Sie einen Druckauftrag starten. IronPrint bietet Printer.ShowPrintDialog genau für dieses Szenario an:

Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
Imports IronPrint

Module DialogPrinting
    Sub Main()
        ' Display the standard Windows print dialog
        Printer.ShowPrintDialog("report.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Wenn diese Methode ausgeführt wird, zeigt Windows seinen Standard-Druckdialog an. Der Benutzer kann einen beliebigen installierten Drucker auswählen, einen Seitenbereich festlegen, die Anzahl der Kopien bestimmen und die Duplexeinstellungen anpassen. Nachdem der Benutzer auf Drucken oder Abbrechen geklickt hat, kehrt die Steuerung zu Ihrem Code zurück.

Diese Methode lässt sich nahtlos in Windows Forms-Anwendungen integrieren. Sie können es über einen Button-Click-Handler aufrufen und darauf vertrauen, dass sich der Dialog konsistent mit anderen Windows-Anwendungen verhält, die der Benutzer bereits kennt.

VB .NET PDF drucken, ohne Adobe zu öffnen, mit IronPrint: Bild 1 - Druckdialog

Auf der Seite mit Beispielen für den Druckdialog werden weitere Anwendungsfälle aufgezeigt, darunter die Vorauswahl eines Druckers oder das Vorbelegen der Anzahl der Kopien vor dem Öffnen des Dialogs.

Wie kann man die PDF-Druckeinstellungen in VB .NET anpassen?

Die Klasse PrintSettings ermöglicht Ihnen die vollständige programmatische Kontrolle über jeden Aspekt eines Druckauftrags. Sie können DPI, Papierformat, Ausrichtung, Anzahl der Kopien und den Zieldrucker festlegen – alles bevor der Auftrag in die Druckwarteschlange gelangt:

Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
Imports IronPrint

Module CustomPrintSettings
    Sub Main()
        Dim settings As New PrintSettings() With {
            .Dpi = 300,
            .NumberOfCopies = 2,
            .PaperOrientation = PaperOrientation.Landscape,
            .PaperSize = PaperSize.A4,
            .PrinterName = "Office Printer"
        }

        Printer.Print("document.pdf", settings)
    End Sub
End Module
$vbLabelText   $csharpLabel

Die wichtigsten Eigenschaften von PrintSettings verstehen

Die Eigenschaft Dpi steuert die Ausgabeauflösung. Ein Wert von 300 ist Standard für Professional Dokumente; 600 eignet sich für hochwertige Grafiken oder technische Zeichnungen. Niedrigere Werte wie 150 sind nützlich für Entwurfsdrucke, bei denen die Geschwindigkeit wichtiger ist als die Qualität.

NumberOfCopies teilt dem Drucker mit, wie viele Kopien in einem einzigen Auftrag erstellt werden sollen. Wenn Sie diesen Wert auf 3 setzen, entspricht das dem Drücken von Strg+P und der Eingabe von 3 in das Feld "Kopien" durch den Benutzer - aber Sie steuern dies vom Code aus ohne jegliche Interaktion mit der Benutzeroberfläche.

PaperOrientation akzeptiert PaperOrientation.Portrait oder PaperOrientation.Landscape. Die Wahl der falschen Ausrichtung für ein im Querformat gestaltetes PDF führt dazu, dass Inhalte abgeschnitten oder verkleinert werden. Durch die explizite Festlegung dieser Einstellung wird sichergestellt, dass die Ausgabe dem Dokumentdesign entspricht.

PaperSize akzeptiert Standardgrößen wie PaperSize.A4, PaperSize.Letter und PaperSize.Legal. Dies ist wichtig, wenn in Ihrer Druckumgebung Papierfächer mit unterschiedlichen Papiergrößen verwendet werden.

Auswahl des richtigen Druckernamens

Die Zeichenkette PrinterName muss exakt mit dem in Windows registrierten Namen des Druckers übereinstimmen, einschließlich Groß- und Kleinschreibung sowie Leerzeichen. Verwenden Sie Printer.GetPrinterNames() (wird im nächsten Abschnitt behandelt), um die Liste der gültigen Namen zur Laufzeit abzurufen.

Weitere Optionen zur individuellen Gestaltung finden Sie auf der Seite "Erweiterte Druckanpassungsfunktionen" .

Wie lassen sich Drucker programmatisch auflisten und auswählen?

In Enterprise haben Arbeitsstationen oft Zugriff auf Dutzende von Netzwerkdruckern. IronPrint macht es einfach, alle verfügbaren Drucker aufzulisten und den richtigen zur Laufzeit auszuwählen:

Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
Imports IronPrint

Module PrinterManagement
    Sub Main()
        ' Retrieve all available printers
        Dim printers As List(Of String) = Printer.GetPrinterNames()

        Console.WriteLine($"Found {printers.Count} printer(s):")
        For Each printerName As String In printers
            Console.WriteLine($"  - {printerName}")
        Next

        ' Print to the first available printer
        If printers.Count > 0 Then
            Dim settings As New PrintSettings()
            settings.PrinterName = printers(0)
            Printer.Print("document.pdf", settings)
        Else
            Console.WriteLine("No printers found. Check system configuration.")
        End If
    End Sub
End Module
$vbLabelText   $csharpLabel

Printer.GetPrinterNames() fragt das Windows-Drucksubsystem ab und gibt alle Drucker zurück, auf die der aktuelle Benutzer zugreifen kann, einschließlich lokaler USB-Drucker, Netzwerkdrucker, virtueller Drucker wie Microsoft Print to PDF und aller Druckertreiber, die über Drittanbietersoftware installiert wurden.

Dokumente an den richtigen Drucker weiterleiten

In Umgebungen mit mehreren Druckern kann es sinnvoll sein, große Dokumente an einen schnellen Abteilungsdrucker und kleine Dokumente an ein nahegelegenes Desktop-Gerät weiterzuleiten. Dies lässt sich realisieren, indem Sie die Seitenzahl oder Dateigröße des Dokuments prüfen und anschließend den passenden Drucker aus der Liste auswählen.

VB .NET PDF drucken, ohne Adobe zu öffnen, mit IronPrint: Bild 2 – Druckerauswahl

Lesen Sie die Dokumentation zu den Druckerinformationsfunktionen, um mehr über zusätzliche Eigenschaften zu erfahren, die Sie abfragen können, wie z. B. Druckerstatus und Standardpapierfach.

Wie behandelt man Druckfehler in VB .NET?

Der Produktionsdruckcode muss Fehler elegant abfangen. Dateipfade könnten falsch sein, Drucker könnten offline sein oder dem Benutzerkonto könnten Druckberechtigungen fehlen. Durch die Einbettung Ihrer print-Aufrufe in eine strukturierte Ausnahmebehandlung wird verhindert, dass unbehandelte Ausnahmen Ihre Anwendung zum Absturz bringen:

Imports IronPrint
Imports System.IO

Module FehlerHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
Imports IronPrint
Imports System.IO

Module FehlerHandling
    Sub Main()
        Dim filePath As String = "document.pdf"

        If Not File.Exists(filePath) Then
            Console.WriteLine("PDF file not found. Verify the path and try again.")
            Return
        End If

        Try
            Dim settings As New PrintSettings()
            settings.PrinterName = "Office Printer"
            Printer.Print(filePath, settings)
            Console.WriteLine("Print job sent successfully.")
        Catch ex As Exception
            Console.WriteLine($"Printing failed: {ex.Message}")
        End Try
    End Sub
End Module
$vbLabelText   $csharpLabel

Häufige Fehler und wie man sie behebt

Die folgende Tabelle beschreibt die häufigsten Druckfehler und deren Lösungen:

Häufige PDF-Druckfehler in VB .NET und deren Lösungen
Fehler Ursache Lösung
Drucker nicht gefunden Der Druckername stimmt nicht mit dem Windows-Registrierungseintrag überein. Rufen Sie `Printer.GetPrinterNames()` auf und verwenden Sie den exakten zurückgegebenen Namen.
Leere Seiten gedruckt Ungültiger Dateipfad oder beschädigte PDF-Datei Verwenden Sie `File.Exists` , um den Pfad zu überprüfen; öffnen Sie die PDF-Datei in einem Viewer, um die Integrität zu prüfen.
Schlechte Druckqualität DPI-Einstellung zu niedrig Stellen Sie `PrintSettings.Dpi` auf 300 oder höher ein.
Zugriff verweigert Unzureichende Druckberechtigungen Führen Sie die Anwendung mit einem Benutzerkonto aus, das über Druckberechtigungen auf dem Zieldrucker verfügt.
Drucker offline Netzwerk- oder Geräteverbindungsproblem Überprüfen Sie den Druckerstatus unter Windows "Geräte und Drucker"; versuchen Sie es nach der Wiederherstellung der Verbindung erneut.

VB .NET PDF drucken, ohne Adobe mit IronPrint zu öffnen: Bild 3 - Beispielfehler

Weitere Hinweise zur Fehlerbehebung finden Sie im IronPrint Leitfaden für technische Anfragen und Fehlerbehebung oder wenden Sie sich an den technischen Support von Iron Software .

Wie kombiniert man PDF-Generierung und Druck in VB .NET?

Ein gängiger Arbeitsablauf besteht darin, zur Laufzeit eine PDF-Datei zu generieren und diese anschließend sofort auszudrucken – beispielsweise eine Rechnung aus Datenbankeinträgen zu erstellen und sie in einem Schritt an den Drucker zu senden. IronPDF übernimmt die PDF-Erstellung, und IronPrint kümmert sich um die Ausgabe.

Warum IronPDF und IronPrint kombinieren?

IronPDF konvertiert HTML-, ASPX- und bestehende Dokumente in korrekt formatierte PDF-Dateien. Sobald die PDF-Datei im Speicher ist oder auf der Festplatte gespeichert wurde, sendet IronPrint sie ohne Adobe Reader an den Drucker. Beide Bibliotheken verwenden das gleiche NuGet-basierte Bereitstellungsmodell. Sie müssen also zwei Pakete hinzufügen und unkomplizierten VB .NET -Code schreiben, um die gesamte Generierungs- und Druckpipeline abzudecken.

Diese Methode ist besonders effektiv für:

  • Rechnungs- und Belegdruck – PDFs aus HTML-Vorlagen generieren und sofort ausdrucken
  • Berichtserstellung – Datenbankabfrageergebnisse in formatierte PDFs umwandeln, bei Bedarf drucken
  • Etiketten- und Barcode-Druck – IronBarcode zur Barcode-Generierung mit IronPrint zur Ausgabe kombinieren
  • Stapelverarbeitung von Dokumenten – Datensätze durchlaufen, für jeden Datensatz eine PDF-Datei generieren und diese nacheinander ausdrucken

Informationen zum Generieren von PDFs aus HTML in VB .NET finden Sie in der IronPDF Dokumentation für VB .NET .

Gemäß der W3C-Spezifikation für Print Media Queries ist die Steuerung des Drucklayouts über CSS-Regeln der Standardansatz für HTML-zu-Druck-Workflows. IronPDF beachtet diese CSS-Regeln während des Renderprozesses, sodass die von Ihnen generierte PDF-Datei die korrekten Ränder, Seitenumbrüche und die richtige Größe aufweist, bevor IronPrint sie an den Drucker sendet.

Wie druckt man mehrere Seiten und steuert Seitenbereiche?

Beim Drucken großer Dokumente kann es erforderlich sein, nur bestimmte Seiten zu drucken – beispielsweise die Seiten 1 bis 5 eines 50-seitigen Berichts. Die IronPrint-Klasse PrintSettings unterstützt die Konfiguration von Seitenbereichen:

Konfigurieren von Seitenbereichen

Innerhalb des PrintSettings-Objekts können Sie eine Startseite und eine Endseite festlegen. Die Seitenzahlen beginnen bei eins, was der Konvention entspricht, die Benutzer von Standard-Druckdialogen erwarten. Wenn Sie den Seitenbereich weglassen, druckt IronPrint das gesamte Dokument.

Der Seitenbereichsdruck ist besonders in Umgebungen mit hohem Druckaufkommen nützlich, wo das Nachdrucken einer einzelnen beschädigten Seite schneller ist als das Nachdrucken des gesamten Dokuments. In Kombination mit NumberOfCopies können Sie genau steuern, wie viele Kopien welcher Seiten im Ausgabefach landen.

Die vollständige Liste der PrintSettings Eigenschaften einschließlich Seitenbereich finden Sie im IronPrint -Druckeinstellungen-Leitfaden .

Drucken in Graustufen

Manche Drucker geben standardmäßig Farbe aus, selbst wenn das Dokument keinen Farbinhalt enthält, wodurch Toner oder Tinte verschwendet wird. Sie können die Graustufenausgabe über PrintSettings erzwingen. Diese Einstellung ist sowohl auf Windows- als auch auf macOS-Systemen verfügbar und funktioniert für alle unterstützten Dokumentformate, nicht nur für PDFs.

Die IronPrint -Funktionsübersicht listet alle verfügbaren Druckeinstellungen mit Beispielen für jede Plattform auf.

Was sind Ihre nächsten Schritte?

Sie verfügen nun über die Bausteine ​​für den PDF-Druck in VB .NET -Anwendungen:

  • Stilles Drucken -- Printer.Print(path) für automatisierte Arbeitsabläufe
  • Dialogdruck -- Printer.ShowPrintDialog(path) für benutzergesteuerte Aufträge
  • Benutzerdefinierte Einstellungen -- PrintSettings für DPI, Ausrichtung, Kopien und Druckerauswahl
  • Druckeraufzählung -- Printer.GetPrinterNames() für dynamisches Druckerrouting
  • Fehlerbehandlung – strukturierte Ausnahmebehandlung mit Vorflugdateivalidierung
  • Kombinierte Arbeitsabläufe – IronPDF für die Generierung, IronPrint für die Ausgabe

Um diese Funktionen zu nutzen, starten Sie Ihre kostenlose IronPrint Testversion und erkunden Sie diese zusätzlichen Ressourcen:

IronPrint -Einführungsleitfaden – vollständige Einrichtungsanleitung

Häufig gestellte Fragen

Was ist IronPrint?

IronPrint ist eine Bibliothek, die den Druckprozess von PDF-Dokumenten in VB .NET vereinfacht, indem sie die Notwendigkeit von Adobe Reader und anderen Abhängigkeiten beseitigt.

Wie ermöglicht IronPrint das Drucken von PDFs in VB .NET?

IronPrint ermöglicht das Drucken von PDFs in VB .NET durch eine unkomplizierte Methode, die auf verschiedenen Plattformen funktioniert, darunter Windows, macOS und mobile Geräte.

Kann ich mit IronPrint geräuschlos drucken?

Ja, IronPrint unterstützt das geräuschlose Drucken, sodass PDF-Dokumente gedruckt werden können, ohne dass Dialogfelder angezeigt werden oder eine Benutzerinteraktion erforderlich ist.

Ist IronPrint mit mobilen Plattformen kompatibel?

Ja, IronPrint ist so konzipiert, dass es auf Windows-, macOS- und mobilen Plattformen funktioniert und somit Flexibilität bei PDF-Druckanwendungen bietet.

Benötigt IronPrint externe Abhängigkeiten?

Nein, IronPrint ist eine unabhängige Lösung, das heißt, Sie benötigen keine zusätzliche Software wie Adobe Reader, um PDFs in VB .NET zu drucken.

Welche Vorteile bietet IronPrint gegenüber herkömmlichen PDF-Druckverfahren?

IronPrint bietet einen vereinfachten und effizienten PDF-Druckprozess, indem es die Notwendigkeit komplexer Workarounds und externer Abhängigkeiten beseitigt und so die Integration in .NET -Anwendungen erleichtert.

Kann ich die Druckeinstellungen mit IronPrint anpassen?

Ja, IronPrint bietet über die Klasse PrintSettings Optionen zur Anpassung der Druckeinstellungen, sodass Entwickler DPI, Papierausrichtung, Kopien und Druckerauswahl steuern können.

Wie verbessert IronPrint den PDF-Druckprozess in VB .NET Anwendungen?

IronPrint verbessert den PDF-Druckprozess, indem es eine einzige, einfach zu bedienende Methode zum Drucken auf verschiedenen Plattformen bietet, ohne dass zusätzliche Software erforderlich ist.

Ist IronPrint für die plattformübergreifende Entwicklung geeignet?

Ja, IronPrint eignet sich für die plattformübergreifende Entwicklung, da es das Drucken unter Windows, macOS, Linux und mobilen Plattformen unterstützt.

Welche Art von Unterstützung bietet IronPrint Entwicklern?

IronPrint bietet Entwicklern Unterstützung durch detaillierte Dokumentation, Codebeispiele und Zugang zum technischen Support und gewährleistet so ein reibungsloses Entwicklungserlebnis.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an