Migrieren von PDFFilePrint zu IronPDF in C#
Durch die Migration von PDFFilePrint zu IronPDF wird Ihr .NET-PDF-Workflow von einem auf das Drucken ausgerichteten Dienstprogramm mit begrenzten Funktionen zu einer umfassenden PDF-Bibliothek, die die Erstellung, Bearbeitung und den Druck in einer einzigen, einheitlichen API abwickelt. Dieser Leitfaden bietet einen vollständigen, schrittweisen Migrationspfad, der Abhängigkeiten von der Befehlszeile beseitigt und gleichzeitig PDF-Erzeugungs- und -Bearbeitungsfunktionen hinzufügt, die PDFFilePrint nicht bieten kann.
Warum von PDFFilePrint zu IronPDF migrieren
PDFFilePrint verständlich machen
PDFFilePrint ist ein praktisches Tool, das speziell für das Drucken von PDF-Dateien aus C#-Anwendungen entwickelt wurde. Obwohl es für gezielte PDF-Druckaufgaben gut geeignet ist, ist seine Funktionalität auf einen Aspekt der Dokumentenverarbeitung beschränkt. Der primäre Reiz von PDFFilePrint liegt in seiner Einfachheit - der Fokus liegt auf dem Drucken von PDF-Dateien. Dieser enge Fokus führt jedoch zu erheblichen Einschränkungen für umfassende Dokumentenmanagementsysteme.
Kritische Einschränkungen von PDFFilePrint
-
Fokus ausschließlich auf Drucken: Die Funktionalität von PDFFilePrint beschränkt sich auf das Drucken. Es fehlen Funktionen zum Erstellen oder Ändern von PDF-Dateien, was für umfassendere Dokumentenmanagementsysteme eine Einschränkung darstellt.
-
Abhängigkeit von der Kommandozeile: Da PDFFilePrint häufig auf Kommandozeilenoperationen mit
Process.Start()-Aufrufen angewiesen ist, erfüllt es möglicherweise nicht die Anforderungen an eine nahtlose Integration in Anwendungen, die robustere APIs erfordern. -
Nur für Windows: Da es stark auf Windows-Drucksysteme angewiesen ist, ist es möglicherweise nicht die beste Wahl für Umgebungen, in denen andere Betriebssysteme verwendet werden.
-
Keine .NET Integration: Keine native API, kein NuGet Paket und keine IntelliSense-Unterstützung bei bestimmten Anwendungsfällen.
-
Externes Prozessmanagement: Muss den Prozesslebenszyklus, Exit-Codes und die Fehleranalyse von stdout/stderr handhaben.
-
Eingeschränkte Fehlerbehandlung: Zur Erkennung von Fehlern ist das Parsen von Standardausgabe und Fehlerströmen anstelle von nativen Ausnahmen erforderlich.
-
Bereitstellungskomplexität: PDFFilePrint.exe muss in Befehlszeilen-Nutzungsszenarien mit der Anwendung gebündelt werden.
- Keine PDF-Generierung: Im Kommandozeilenmodus können keine PDFs erstellt, sondern nur vorhandene gedruckt werden.
PDFFilePrint vs IronPDFVergleich
| Aspekt | PDFFilePrint | IronPDF |
|---|---|---|
| Primärer Schwerpunkt | PDF-Druck | Umfassende PDF-API |
| Typ | Befehlszeilen-Dienstprogramm / Basic-Bibliothek | Native .NET-Bibliothek |
| Integration | Process.Start() / Basic API | Direkte API-Aufrufe |
| PDF-Druck | ✓ | ✓ |
| PDF-Erstellung | Beschränkt | ✓(HTML, URL, Bilder) |
| PDF-Bearbeitung | ✗ | ✓(zusammenführen, teilen, bearbeiten) |
| Plattformübergreifend | Nur für Windows | Windows, Linux, macOS |
| Fehlerbehandlung | Parsen von stdout/stderr | Native Ausnahmen |
| IntelliSense | Beschränkt | Unterstützt |
| NuGet-Paket | Beschränkt | ✓ |
| Dokumentation | Basic | Umfangreiche |
Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietet IronPDF eine umfassende Grundlage mit plattformübergreifender Unterstützung und aktiver Entwicklung, die die architektonischen Einschränkungen von PDFFilePrint ausgleicht.
Bevor Sie beginnen
Voraussetzungen
- .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
- IronPDF -Lizenz: Ihren Lizenzschlüssel erhalten Sie unter IronPDF.
NuGet-Paketänderungen
# Remove PDFFilePrint package (if installed via NuGet)
dotnet remove package PDFFilePrint
# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project
# Install IronPDF
dotnet add package IronPdf
# Remove PDFFilePrint package (if installed via NuGet)
dotnet remove package PDFFilePrint
# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project
# Install IronPDF
dotnet add package IronPdf
Lizenz-Konfiguration
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
PDFFilePrint-Verwendung identifizieren
# Find PDFFilePrint references
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .
# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .
# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
# Find PDFFilePrint references
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .
# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .
# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
Komplette API-Referenz
Namensraumänderungen
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage
// IronPDF
using IronPdf;
using IronPdf.Printing;
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage
// IronPDF
using IronPdf;
using IronPdf.Printing;
Imports PDFFilePrint
Imports System.Diagnostics ' For command-line usage
' IronPDF
Imports IronPdf
Imports IronPdf.Printing
Kernklassen-Zuordnungen
| PDFFilePrint | IronPDF |
|---|---|
new PDFFile() |
new ChromePdfRenderer() |
new PDFFile() |
PdfDocument.FromFile() |
PDFFile |
PdfDocument |
PDF-Erzeugungsmethoden-Zuordnungen
| PDFFilePrint | IronPDF |
|---|---|
pdf.CreateFromHtml(html) |
renderer.RenderHtmlAsPdf(html) |
pdf.CreateFromUrl(url) |
renderer.RenderUrlAsPdf(url) |
pdf.SaveToFile(path) |
pdf.SaveAs(path) |
PDF Laden und Drucken von Zuordnungen
| PDFFilePrint | IronPDF |
|---|---|
pdf.LoadFromFile(path) |
PdfDocument.FromFile(path) |
pdf.Print(printerName) |
pdf.Print(printerName) |
pdf.Print("Default Printer") |
pdf.Print() |
Zuordnungen von Druckeinstellungen (Befehlszeile zu API)
| PDFFilePrint-Flag | IronPDFPrintSettings-Eigenschaft |
|---|---|
-printer "Name" |
PrinterName |
-copies N |
NumberOfCopies |
-silent |
ShowPrintDialog = false |
-pages "1-5" |
FromPage, ToPage |
-orientation landscape |
PaperOrientation |
-duplex |
Duplex |
-collate |
Collate |
Neue Funktionen nicht in PDFFilePrint
| IronPDFMerkmal | Beschreibung |
|---|---|
PdfDocument.Merge() |
Kombinieren mehrerer PDFs |
pdf.CopyPages() |
Spezifische Seiten extrahieren |
pdf.ApplyWatermark() |
Wasserzeichen hinzufügen |
pdf.SecuritySettings |
Passwortschutz |
pdf.ExtractAllText() |
Textinhalt extrahieren |
pdf.RasterizeToImageFiles() |
In Bilder konvertieren |
pdf.SignWithDigitalSignature() |
Digitale Signaturen |
Beispiele für die Code-Migration
Beispiel 1: Konvertierung von HTML in PDF
Vor (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
pdf.CreateFromHtml(htmlContent);
pdf.SaveToFile("output.pdf");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
pdf.CreateFromHtml(htmlContent);
pdf.SaveToFile("output.pdf");
}
}
Imports System
Imports PDFFilePrint
Module Program
Sub Main()
Dim pdf As New PDFFile()
Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
pdf.CreateFromHtml(htmlContent)
pdf.SaveToFile("output.pdf")
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
End Sub
End Class
Der grundlegende Unterschied ist hier das API-Muster. PDFFilePrint verwendet eine einzige Klasse PDFFile mit den Methoden CreateFromHtml() und SaveToFile().IronPDF trennt das Rendering vom Dokumentobjekt – ChromePdfRenderer übernimmt die HTML-zu-PDF-Konvertierung und gibt ein PdfDocument-Objekt zurück, das Sie dann mit SaveAs() speichern.
Diese Trennung bietet erhebliche Vorteile: Sie können die Rendering-Optionen auf dem Renderer vor der Konvertierung konfigurieren, und das zurückgegebene PdfDocument kann vor dem Speichern bearbeitet werden (Wasserzeichen hinzufügen, mit anderen PDFs zusammenführen, Sicherheit hinzufügen). Weitere Rendering-Optionen finden Sie in der HTML to PDF Dokumentation.
Beispiel 2: Konvertierung von URL in PDF
Vor (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.CreateFromUrl("https://www.example.com");
pdf.SaveToFile("webpage.pdf");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.CreateFromUrl("https://www.example.com");
pdf.SaveToFile("webpage.pdf");
}
}
Imports System
Imports PDFFilePrint
Class Program
Shared Sub Main()
Dim pdf As New PDFFile()
pdf.CreateFromUrl("https://www.example.com")
pdf.SaveToFile("webpage.pdf")
End Sub
End Class
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Class
PDFFilePrint verwendet CreateFromUrl() in derselben Klasse PDFFile.IronPDF verwendet die spezielle Methode RenderUrlAsPdf() auf ChromePdfRenderer, die eine moderne Chromium-Engine für die präzise Darstellung komplexer CSS3-, JavaScript und moderner Webfunktionen nutzt. Die Rendering-Qualität ist vorhersehbar und entspricht dem, was Sie im Chrome-Browser sehen. Erfahren Sie mehr über die URL in PDF Konvertierung.
Beispiel 3: PDF-Druck
Vor (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.LoadFromFile("document.pdf");
pdf.Print("Default Printer");
Console.WriteLine("PDF sent to printer");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.LoadFromFile("document.pdf");
pdf.Print("Default Printer");
Console.WriteLine("PDF sent to printer");
}
}
Imports System
Imports PDFFilePrint
Module Program
Sub Main()
Dim pdf As New PDFFile()
pdf.LoadFromFile("document.pdf")
pdf.Print("Default Printer")
Console.WriteLine("PDF sent to printer")
End Sub
End Module
Nach (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
Console.WriteLine("PDF sent to printer");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
Console.WriteLine("PDF sent to printer");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.Print()
Console.WriteLine("PDF sent to printer")
End Sub
End Class
Dieses Beispiel zeigt einen grundlegenden architektonischen Unterschied beim Laden und Drucken von PDF-Dateien. PDFFilePrint verwendet new PDFFile() gefolgt von LoadFromFile(), dann Print(printerName).IronPDF verwendet die statische Factory-Methode PdfDocument.FromFile() zum direkten Laden und anschließend Print(), welche den Standarddrucker verwendet (alternativ kann auch ein Druckername angegeben werden).
Die wichtigsten Migrationsänderungen:
new PDFFile()+LoadFromFile(path)→PdfDocument.FromFile(path)Print("Default Printer")→Print()(Standarddrucker ist automatisch)
Für erweiterte Druckeinstellungen bietet IronPDF eine PrintSettings Klasse an. Siehe die Druckdokumentation für erweiterte Optionen.
Erweiterte Migration der Druckeinstellungen
Für Anwendungen, die die Befehlszeilenoptionen von PDFFilePrint verwenden, finden Sie hier die Anleitung zur Migration zu IronPDF s PrintSettings:
// PDFFilePrint command-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"
//IronPDF equivalent:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
var settings = new PrintSettings
{
ShowPrintDialog = false, // -silent
NumberOfCopies = 3, // -copies 3
PrinterName = "HP LaserJet", // -printer "HP LaserJet"
FromPage = 1, // -pages "1-5"
ToPage = 5
};
pdf.Print(settings);
// PDFFilePrint command-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"
//IronPDF equivalent:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
var settings = new PrintSettings
{
ShowPrintDialog = false, // -silent
NumberOfCopies = 3, // -copies 3
PrinterName = "HP LaserJet", // -printer "HP LaserJet"
FromPage = 1, // -pages "1-5"
ToPage = 5
};
pdf.Print(settings);
Imports IronPdf
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim settings As New PrintSettings With {
.ShowPrintDialog = False, ' -silent
.NumberOfCopies = 3, ' -copies 3
.PrinterName = "HP LaserJet", ' -printer "HP LaserJet"
.FromPage = 1, ' -pages "1-5"
.ToPage = 5
}
pdf.Print(settings)
Konvertierung von Flaggen im stillen Modus
Beachten Sie die umgekehrte Logik für stilles Drucken:
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
' PDFFilePrint: -silent flag enables silent mode
' IronPDF: ShowPrintDialog = false (false = silent)
Dim settings As New PrintSettings With {.ShowPrintDialog = False}
Neue Funktionen nach der Migration
Nach der Umstellung auf IronPDF erhalten Sie Funktionen, die PDFFilePrint nicht bieten kann:
Erstellen und Drucken in einem Schritt
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>")
pdf.Print("Office Printer")
PDF-Zusammenführung
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
Wasserzeichen
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>")
pdf.SaveAs("watermarked.pdf")
Passwortschutz
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SaveAs("secured.pdf")
Textextraktion
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
Kritische Hinweise zur Migration
Klassenmuster-Änderung
PDFFilePrint verwendet eine einzige PDFFile Klasse für alles;IronPDF trennt die Anliegen:
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);
// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);
// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
' PDFFilePrint: Single class
Dim pdf1 = New PDFFile()
pdf1.CreateFromHtml(html)
pdf1.SaveToFile(path)
' IronPDF: Renderer for creation, Document for manipulation
Dim renderer = New ChromePdfRenderer()
Dim pdf2 = renderer.RenderHtmlAsPdf(html)
pdf2.SaveAs(path)
Änderungen bei der Methodenbenennung
// PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
// PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
Ausgangscode zur Behandlung von Ausnahmen
Bei Verwendung der Befehlszeile PDFFilePrint:
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
var error = process.StandardError.ReadToEnd();
throw new Exception($"Print failed: {error}");
}
// IronPDF: Use try-catch
try {
pdf.Print();
}
catch (Exception ex) {
// Handle error with full exception details
}
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
var error = process.StandardError.ReadToEnd();
throw new Exception($"Print failed: {error}");
}
// IronPDF: Use try-catch
try {
pdf.Print();
}
catch (Exception ex) {
// Handle error with full exception details
}
' PDFFilePrint: Check process exit code
If process.ExitCode <> 0 Then
Dim error = process.StandardError.ReadToEnd()
Throw New Exception($"Print failed: {error}")
End If
' IronPDF: Use try-catch
Try
pdf.Print()
Catch ex As Exception
' Handle error with full exception details
End Try
Entfernen externer Abhängigkeiten
Wenn Sie die Befehlszeile von PDFFilePrint verwenden, entfernen Sie die mitgelieferte ausführbare Datei:
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";
// After: No external dependencies
//IronPDF is fully self-contained via NuGet
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";
// After: No external dependencies
//IronPDF is fully self-contained via NuGet
' Before: Required external executable
Private ReadOnly _pdfFilePrintPath As String = "C:\tools\PDFFilePrint.exe"
' After: No external dependencies
'IronPDF is fully self-contained via NuGet
Zusammenfassung des Funktionsvergleichs
| Feature | PDFFilePrint | IronPDF |
|---|---|---|
| Grundlegendes Drucken | ✓ | ✓ |
| Stummes Drucken | ✓ | ✓ |
| Mehrere Kopien | ✓ | ✓ |
| Umfang der Seite | ✓ | ✓ |
| Duplex | Variiert | ✓ |
| Aus HTML erstellen | Beschränkt | ✓ |
| Von URL erstellen | Beschränkt | ✓ |
| PDFs zusammenführen | ✗ | ✓ |
| PDFs teilen | ✗ | ✓ |
| Wasserzeichen hinzufügen | ✗ | ✓ |
| Text extrahieren | ✗ | ✓ |
| Passwortschutz | ✗ | ✓ |
| Digitale Signaturen | ✗ | ✓ |
| Plattformübergreifend | ✗ | ✓ |
| Native .NET-API | Beschränkt | ✓ |
Migrations-Checkliste
Vor der Migration
- Alle Verweise auf PDFFilePrint im Quellcode finden
- Die aktuell verwendeten Methoden dokumentieren (CreateFromHtml, CreateFromUrl, Print usw.)
- Identifizieren Sie die in den verschiedenen Umgebungen verwendeten Druckernamen.
- Listen Sie alle Befehlszeilenargumente auf, wenn das Process.Start-Muster verwendet wird.
- Möglichkeiten für neue Funktionen identifizieren (Zusammenführung, Wasserzeichen, Sicherheit) -IronPDF-Lizenzschlüssel erhalten
Paketänderungen
- Entfernen Sie das NuGet Paket
PDFFilePrint - Entfernen Sie die mitgelieferte Datei PDFFilePrint.exe aus der Bereitstellung (falls zutreffend).
- Installieren Sie das NuGet Paket
IronPdf:dotnet add package IronPdf - Namespace-Importe aktualisieren
Code-Änderungen
- Lizenzschlüsselkonfiguration beim Start hinzufügen
- Ersetzen Sie
new PDFFile()+CreateFromHtml()durchChromePdfRenderer.RenderHtmlAsPdf() - Ersetzen Sie
new PDFFile()+CreateFromUrl()durchChromePdfRenderer.RenderUrlAsPdf() - Ersetzen Sie
LoadFromFile()durchPdfDocument.FromFile() - Ersetzen Sie
SaveToFile()durchSaveAs() - Aktualisieren Sie
Print()Anrufe nach Bedarf - Ersetzen Sie die Exit-Code-Prüfungen durch eine Ausnahmebehandlung (falls zutreffend).
Nach der Migration
- PDFFilePrint.exe aus der Quellcodeverwaltung entfernen
- Aktualisieren Sie die Build-Skripte, um das Kopieren von PDFFilePrint zu entfernen.
- Testdruck auf allen Zieldruckern
- Gegebenenfalls plattformübergreifend testen
- Fügen Sie bei Bedarf neue Funktionen (Wasserzeichen, Sicherheit) hinzu.
- Dokumentation aktualisieren

