Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

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

  1. 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.

  2. 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.

  3. 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.

  4. Keine .NET Integration: Keine native API, kein NuGet Paket und keine IntelliSense-Unterstützung bei bestimmten Anwendungsfällen.

  5. Externes Prozessmanagement: Muss den Prozesslebenszyklus, Exit-Codes und die Fehleranalyse von stdout/stderr handhaben.

  6. Eingeschränkte Fehlerbehandlung: Zur Erkennung von Fehlern ist das Parsen von Standardausgabe und Fehlerströmen anstelle von nativen Ausnahmen erforderlich.

  7. Bereitstellungskomplexität: PDFFilePrint.exe muss in Befehlszeilen-Nutzungsszenarien mit der Anwendung gebündelt werden.

  8. 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

  1. .NET -Umgebung: .NET Framework 4.6.2+ oder .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet -Zugriff: Möglichkeit zur Installation von NuGet -Paketen
  3. 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
SHELL

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"
$vbLabelText   $csharpLabel

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"
SHELL

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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}
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

Ä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()
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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() durch ChromePdfRenderer.RenderHtmlAsPdf()
  • Ersetzen Sie new PDFFile() + CreateFromUrl() durch ChromePdfRenderer.RenderUrlAsPdf()
  • Ersetzen Sie LoadFromFile() durch PdfDocument.FromFile()
  • Ersetzen Sie SaveToFile() durch SaveAs()
  • 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

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