Zum Fußzeileninhalt springen
MIGRATIONSLEITFäDEN

Migrieren von PDFPrinting.NET zu IronPDF in C#

Die Migration von PDFPrinting.NET zuIronPDFerweitert Ihre PDF-Funktionen von einer reinen Druckbibliothek zu einer umfassenden Lösung, die den gesamten PDF-Lebenszyklus einschließlich Erstellung, Bearbeitung, Extraktion, Sicherheit und Druck abdeckt. Dieser Leitfaden bietet einen vollständigen, schrittweisen Migrationspfad, der Ihre bestehenden Druck-Workflows beibehält und gleichzeitig Funktionen zur PDF-Erstellung, HTML-Konvertierung und plattformübergreifenden Unterstützung hinzufügt.

Warum von PDFPrinting.NET zuIronPDFmigrieren

PDFPrinting.NET kennenlernen

PDFPrinting.NET zeichnet sich als spezialisierte Lösung aus, die eine beispiellose Einfachheit und Effektivität beim stillen PDF-Druck bietet. PDFPrinting.NET ist eine kommerzielle Bibliothek, die in erster Linie im Windows-Ökosystem eingesetzt wird und speziell auf Entwickler zugeschnitten ist, die PDF-Druckfunktionen in ihre Anwendungen integrieren müssen. PDFPrinting.NET ist ein spezielles Werkzeug, das sich ausschließlich auf das geräuschlose und robuste Drucken von PDFs konzentriert und die oft komplexe Aufgabe des programmgesteuerten Druckens von Dokumenten ohne Benutzereingriff vereinfacht.

Einer der wichtigsten Vorteile von PDFPrinting.NET ist die Möglichkeit, Dokumente im Hintergrund zu drucken. Sie umgeht die üblichen Druckdialogfenster und ermöglicht so vollautomatische Arbeitsabläufe, was für Anwendungen, die eine minimale Benutzerinteraktion erfordern, von entscheidender Bedeutung ist.

Die Beschränkung auf den Druck

Eine deutliche Einschränkung von PDFPrinting.NET ist, dass es nur den Druckaspekt der PDF-Verarbeitung behandelt. Sie kann keine PDF-Dokumente erstellen, verändern oder manipulieren, was ihren Nutzen für Entwickler, die Lösungen für den gesamten Lebenszyklus von PDF-Dokumenten benötigen, einschränkt:

  1. Nur Drucken: PDF-Dokumente können nicht erstellt, bearbeitet oder manipuliert werden.

  2. Nur für Windows: An die Windows-Druckinfrastruktur gebunden – keine Unterstützung für Linux/macOS. Die Abhängigkeit von der Windows-Druckinfrastruktur schränkt die Anwendbarkeit auf reine Windows-Umgebungen ein und schränkt die plattformübergreifende Nutzbarkeit ein.

  3. Keine PDF-Generierung: HTML, URLs oder Daten können nicht in PDF konvertiert werden.

  4. Keine Dokumentenmanipulation: PDFs können nicht zusammengeführt, geteilt, mit Wasserzeichen versehen oder gesichert werden.

  5. Keine Textextraktion: Inhalte aus PDFs können nicht gelesen oder extrahiert werden.

  6. Keine Formularverarbeitung: PDF-Formulare können nicht ausgefüllt oder reduziert werden.

PDFPrinting.NET vsIronPDFVergleich

Feature PDFPrinting.NET IronPDF
Hauptfunktionalität Geräuschloser PDF-Druck Bearbeitung des gesamten Zyklus (Erstellen, Bearbeiten, Drucken)
Windows, Linux, macOS, Docker, Azure, AWS. Nur für Windows Plattformübergreifend
Fähigkeit zur PDF-Erstellung/Bearbeitung Nein Ja
HTML-zu-PDF-Konvertierung Nein Ja
Eignung für automatisierte Arbeitsabläufe Hoch Hoch
Zusätzliche Abhängigkeiten Setzt auf Windows-Drucker Interne Browser-Engine für das Rendering
Stilles Drucken Ja Ja
Textextraktion Nicht unterstützt Volle Unterstützung
Lizenzierung Kommerziell Kommerziell

IronPDF bietet eine umfassendere Lösung, die den gesamten Lebenszyklus der PDF-Verarbeitung abdeckt. Es erleichtert die Erstellung, Bearbeitung, Konvertierung und den Druck von PDF-Dokumenten und bietet Entwicklern über eine einheitliche API eine ganze Reihe von Funktionen. Im Gegensatz zu PDFPrinting.NET kannIronPDFauf verschiedenen Plattformen eingesetzt werden, was es zu einer vielseitigen Wahl für Anwendungen macht, die in unterschiedlichen Umgebungen arbeiten.

Für Teams, die die Einführung von .NET 10 und C# 14 bis 2025 und 2026 planen, bietetIronPDFeine vollständige PDF-Lösung, die in Windows-, Linux- und macOS-Umgebungen funktioniert.


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 auf ironpdf.com.

NuGet-Paketänderungen

# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET

# Install IronPDF
dotnet add package IronPdf
# Remove PDFPrinting.NET
dotnet remove package PDFPrinting.NET

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

Die Verwendung von PDFPrinting.NET erkennen

# Find PDFPrinting.NET usage
grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" .

# Find print-related code
grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" .
# Find PDFPrinting.NET usage
grep -r "PDFPrinting\|PDFPrinter" --include="*.cs" .

# Find print-related code
grep -r "\.Print(\|PrinterName\|GetPrintDocument" --include="*.cs" .
SHELL

Komplette API-Referenz

Namensraumänderungen

// Before: PDFPrinting.NET
using PDFPrinting.NET;
using PDFPrintingNET;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Printing;
// Before: PDFPrinting.NET
using PDFPrinting.NET;
using PDFPrintingNET;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Printing;
$vbLabelText   $csharpLabel

Kernklassen-Zuordnungen

PDFPrinting.NET IronPDF Notizen
PDF-Drucker PdfDocument PDF-Kernobjekt
HtmlToPdfConverter ChromePdfRenderer PDF-Erstellung
WebPageToPdfConverter ChromePdfRenderer URL-Konvertierung
Eigenschaften der Druckeinstellungen DruckEinstellungen Konfiguration drucken

Drucken von Methodenzuordnungen

PDFPrinting.NET IronPDF Notizen
Drucker.Drucken(Dateipfad) pdf.Print() Auf Standarddrucker drucken
Drucker.Drucken(Pfad, Druckername) pdf.Print(Druckername) Drucken auf einem bestimmten Drucker
printer.PrinterName = "..." pdf.Print("...") Drucker angeben
Drucker.GetPrintDocument(Pfad) pdf.GetPrintDocument() PrintDocument herunterladen
Drucker.Kopien = n printSettings.NumberOfCopies = n Anzahl der Kopien
Drucker.Duplex = true printSettings.DuplexMode = Duplex.Vertical Duplexdruck
printer.CollatePages = true printSettings.Collate = true Zusammenstellung

Neue Funktionen in PDFPrinting.NET nicht verfügbar

IronPDFMerkmal Beschreibung
renderer.RenderHtmlAsPdf(html) Konvertierung von HTML in PDF
renderer.RenderUrlAsPdf(url) Konvertierung von URL in PDF
PdfDocument.Merge(pdfs) Mehrere PDFs zusammenführen
pdf.ApplyWatermark(html) Wasserzeichen hinzufügen
pdf.SecuritySettings.UserPassword Passwortschutz
pdf.ExtractAllText() Textextraktion

Beispiele für die Code-Migration

Beispiel 1: Konvertierung von HTML in PDF

Vor (PDFPrinting.NET):

// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        converter.ConvertHtmlToPdf(html, "output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        converter.ConvertHtmlToPdf(html, "output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string html = "<html><body><h1>Hello World</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF created successfully");
    }
}
$vbLabelText   $csharpLabel

PDFPrinting.NET verwendet HtmlToPdfConvertermit ConvertHtmlToPdf(html, outputPath), das Rendering und Speichern in einem Aufruf kombiniert.IronPDFverwendet ChromePdfRenderermit RenderHtmlAsPdf(), das ein PdfDocument-Objekt zurückgibt, das Sie dann mit SaveAs() speichern. Diese Trennung bietet mehr Flexibilität - Sie können die PDF-Datei vor dem Speichern bearbeiten (Wasserzeichen hinzufügen, mit anderen Dokumenten zusammenführen, Sicherheit hinzufügen).

IronPDF bietet Funktionen wie die HTML-zu-PDF-Konvertierung, die es Entwicklern ermöglicht, Webinhalte als PDFs zu rendern und dabei moderne Webtechnologien für die Dokumentenerstellung zu nutzen. Durch die interne Nutzung von Browser-Engines bildetIronPDFdas Styling und Rendering von Webdokumenten in PDF-Dateien exakt nach. Umfassende Beispiele finden Sie in der HTML to PDF Dokumentation.

Beispiel 2: Konvertierung von URL in PDF

Vor (PDFPrinting.NET):

// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new WebPageToPdfConverter();
        string url = "https://www.example.com";
        converter.Convert(url, "webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new WebPageToPdfConverter();
        string url = "https://www.example.com";
        converter.Convert(url, "webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string url = "https://www.example.com";
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("PDF from URL created successfully");
    }
}
$vbLabelText   $csharpLabel

PDFPrinting.NET verwendet WebPageToPdfConvertermit Convert(url, outputPath).IronPDFverwendet die gleiche ChromePdfRenderer-Klasse mit der Methode RenderUrlAsPdf(). Beachten Sie, dassIronPDFeine einzige Renderer-Klasse sowohl für HTML-Strings als auch für URLs verwendet, was Ihren Code vereinfacht, wenn Sie beide Funktionen benötigen. Erfahren Sie mehr in unseren Tutorials.

Beispiel 3: Kopf- und Fußzeilen

Vor (PDFPrinting.NET):

// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.HeaderText = "Company Report";
        converter.FooterText = "Page {page} of {total}";
        string html = "<html><body><h1>Document Content</h1></body></html>";
        converter.ConvertHtmlToPdf(html, "report.pdf");
        Console.WriteLine("PDF with headers/footers created");
    }
}
// NuGet: Install-Package PDFPrinting.NET
using PDFPrinting.NET;
using System;

class Program
{
    static void Main()
    {
        var converter = new HtmlToPdfConverter();
        converter.HeaderText = "Company Report";
        converter.FooterText = "Page {page} of {total}";
        string html = "<html><body><h1>Document Content</h1></body></html>";
        converter.ConvertHtmlToPdf(html, "report.pdf");
        Console.WriteLine("PDF with headers/footers created");
    }
}
$vbLabelText   $csharpLabel

Nach (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Company Report</div>"
        };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
        };
        string html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("report.pdf");
        Console.WriteLine("PDF with headers/footers created");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Company Report</div>"
        };
        renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
        {
            HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>"
        };
        string html = "<html><body><h1>Document Content</h1></body></html>";
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("report.pdf");
        Console.WriteLine("PDF with headers/footers created");
    }
}
$vbLabelText   $csharpLabel

PDFPrinting.NET verwendet einfache String-Eigenschaften HeaderText und FooterText mit den Platzhaltern {page} und {total}.IronPDFverwendet HtmlHeaderFooter-Objekte mit einer HtmlFragment-Eigenschaft, die vollständiges HTML akzeptiert und eine umfangreiche Gestaltung mit CSS ermöglicht. Beachten Sie die Änderung der Platzhalter-Syntax: PDFPrinting.NET verwendet {total}, währendIronPDF{total-pages} verwendet.


Kritische Hinweise zur Migration

Änderung der Syntax für Platzhalter

Die Platzhalter für Kopf- und Fußzeilen unterscheiden sich je nach Bibliothek:

// PDFPrinting.NET placeholders
"Page {page} of {total}"

//IronPDFplaceholders
"Page {page} of {total-pages}"
// PDFPrinting.NET placeholders
"Page {page} of {total}"

//IronPDFplaceholders
"Page {page} of {total-pages}"
$vbLabelText   $csharpLabel

Load-Then-Print-Muster

PDFPrinting.NET gibt Dateipfade direkt weiter;IronPDFwird zuerst geladen:

// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");

// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
// PDFPrinting.NET: Direct path to Print()
printer.Print("document.pdf");

// IronPDF: Load first, then operate
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
$vbLabelText   $csharpLabel

Migration der Druckeinstellungen

PDFPrinting.NET verwendet Properties;IronPDFverwendet ein Einstellungsobjekt:

// PDFPrinting.NET: Properties on printer object
printer.Copies = 2;
printer.Duplex = true;

// IronPDF: Settings object
var settings = new PrintSettings
{
    NumberOfCopies = 2,
    DuplexMode = System.Drawing.Printing.Duplex.Vertical
};
pdf.Print(settings);
// PDFPrinting.NET: Properties on printer object
printer.Copies = 2;
printer.Duplex = true;

// IronPDF: Settings object
var settings = new PrintSettings
{
    NumberOfCopies = 2,
    DuplexMode = System.Drawing.Printing.Duplex.Vertical
};
pdf.Print(settings);
$vbLabelText   $csharpLabel

HTML-Kopfzeilen vs. Textkopfzeilen

// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";

// IronPDF: Vollständiges HTMLwith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
// PDFPrinting.NET: Simple text
converter.HeaderText = "Company Report";

// IronPDF: Vollständiges HTMLwith styling
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center'>Company Report</div>"
};
$vbLabelText   $csharpLabel

Neue Funktionen nach der Migration

Nach der Umstellung aufIronPDFerhalten Sie Funktionen, die PDFPrinting.NET nicht bieten kann:

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

Wasserzeichen

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
$vbLabelText   $csharpLabel

Passwortschutz

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
$vbLabelText   $csharpLabel

Textextraktion

string text = pdf.ExtractAllText();
string text = pdf.ExtractAllText();
$vbLabelText   $csharpLabel

Generieren-Dann-Drucken-Workflow

MitIronPDFkönnen Sie PDFs in einem einzigen Arbeitsgang erzeugen und drucken:

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>");
pdf.Print("Invoice Printer");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1>");
pdf.Print("Invoice Printer");
$vbLabelText   $csharpLabel

Plattformübergreifendes Drucken

PDFPrinting.NET ist nur für Windows geeignet.IronPDFarbeitet plattformübergreifend:

Windows

pdf.Print("HP LaserJet");
pdf.Print("HP LaserJet");
$vbLabelText   $csharpLabel

Linux

// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet");  // CUPS uses underscores instead of spaces
// Requires CUPS (Common Unix Printing System)
// Install: apt-get install cups
pdf.Print("HP_LaserJet");  // CUPS uses underscores instead of spaces
$vbLabelText   $csharpLabel

macOS

pdf.Print("HP LaserJet");
pdf.Print("HP LaserJet");
$vbLabelText   $csharpLabel

Zusammenfassung des Funktionsvergleichs

Feature PDFPrinting.NET IronPDF
Stiller Druck
Druckeinstellungen
HTML zu PDF
URL zu PDF
Kopf-/Fußzeilen Basic Vollständiges HTML
PDFs zusammenführen
PDFs teilen
Wasserzeichen
Textextraktion
Passwortschutz
Plattformübergreifend

Migrations-Checkliste

Vor der Migration

  • Erfassung aller Verwendungen von PDFPrinting.NET im Quellcode
  • Alle aktuell verwendeten Druckernamen dokumentieren
  • Notieren Sie alle Druckeinstellungen.
  • Prüfen, ob plattformübergreifende Unterstützung erforderlich ist.
  • Speicherung des IronPDF-Lizenzschlüssels (Umgebungsvariablen empfohlen)
  • Zuerst mit der IronPDF-Testlizenz testen

Paketänderungen

  • Entfernen Sie PDFPrinting.NET NuGet-Paket
  • Installieren Sie IronPdf NuGet-Paket: dotnet add package IronPdf

Code-Änderungen

  • Namespace-Importe aktualisieren
  • Ersetzen Sie HtmlToPdfConverterdurch ChromePdfRenderer
  • Ersetzen Sie WebPageToPdfConverterdurch ChromePdfRenderer
  • Ersetzen Sie ConvertHtmlToPdf(html, path) durch RenderHtmlAsPdf(html).SaveAs(path)
  • Ersetzen Sie Convert(url, path) durch RenderUrlAsPdf(url).SaveAs(path)
  • Aktualisieren Sie Kopf- und Fußzeile von HeaderText / FooterText auf HtmlHeader / HtmlFooter
  • Aktualisierung der Platzhaltersyntax ( {total}{total-pages} )
  • Umwandlung von Druckaufrufen in das Muster Laden-dann-Drucken
  • Aktualisieren Sie die Druckeinstellungen im DruckEinstellungen-Objekt

Nach der Migration

  • Testdruck auf allen Zielplattformen
  • Überprüfung der Darstellung von Kopf- und Fußzeile
  • Erwägen Sie die Hinzufügung der PDF-Generierung für dynamische Dokumente
  • Fügen Sie bei Bedarf neue Funktionen hinzu (Zusammenführung, Wasserzeichen, Sicherheit).

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