Zum Fußzeileninhalt springen
VIDEOS

Wie man eine PDF aus einer Vorlage in C# generiert | IronPDF

Der Wechsel von RawPrintzu IronPDF ist weniger ein Ersatz als eine Umgestaltung: RawPrintund IronPDF lösen unterschiedliche Probleme, und der ehrliche Rahmen für die meisten Teams ist 'Ergänzung', nicht 'Ersatz'. Dieser Leitfaden erläutert die Fälle, in denen IronPDF tatsächlich eine RawPrint-Pipeline übernimmt (Erstellen-eines-PDF-und-es-dann-Schieben-Workflows auf Windows) und verweist auf die Fälle, in denen Sie RawPrintbehalten sollten (ESC/POS, ZPL, EPL, Raw PCL).

Warum von RawPrintzu IronPDF migrieren

RawPrintverstehen

RawPrint ist das NuGet-Paket RawPrint (frogmorecs/RawPrint, v0.5.0, zuletzt veröffentlicht im September 2019, nun auf nuget.org unaufgeführt/veraltet). Es ist ein dünner P/Invoke-Wrapper über winspool.Drv, der einen Bytestrom direkt an den Windows-Druckerwarteschlangendienst mit dem RAW-Datentyp sendet. Die öffentliche API ist klein: eine Printer-Klasse, die IPrinter im RawPrint-Namespace implementiert und PrintRawFile und PrintRawStream Überladungen bereitstellt. Die zugrunde liegenden Win32-Aufrufe (OpenPrinter, StartDocPrinter, WritePrinter, EndDocPrinter, ClosePrinter) sind hinter dieser Schnittstelle verborgen – Sie schreiben sie nicht selbst, wenn Sie das Paket verwenden.

Das macht RawPrintzu einer guten Wahl für ESC/POS-Belegdrucker, ZPL/EPL-Zebra-Etikettendrucker und Legacy-PCL/PostScript-Jobs, bei denen Sie bereits die Bytes erstellt haben, die die Drucker-Firmware erwartet. Für Entwickler, die auf Windows-spezifische Umgebungen abzielen und eine direkte Druckerkommunikation benötigen, bietet RawPrinteinen effizienten Weg, der Zwischenschichten wie Treiber oder grafische Schnittstellen umgeht.

RawPrint ist jedoch keine PDF-Bibliothek - es verschickt nur Daten an Drucker. Wenn Ihre Anwendung derzeit in einer anderen Bibliothek ein PDF erstellt und es dann an RawPrintübergibt, kann diese gesamte Pipeline auf Windowsnormalerweise zu IronPDF zusammenbrechen.

Das Kernproblem: Keine PDF-Erstellung

RawPrint hat bemerkenswerte Einschränkungen, die es für moderne Dokumenten-Workflows ungeeignet machen:

  1. Keine PDF-Erstellung: RawPrintkonzentriert sich ausschließlich auf die Datenübertragung und bietet keine Funktionen zur PDF-Erstellung, -Darstellung oder -Bearbeitung.

  2. Sehr niedrige Ebene: Da die Entwickler direkt mit Rohbytes arbeiten, müssen sie die Befehlssprache des Druckers genau verstehen, was diese Methode für einfache Dokumentendruckaufgaben weniger geeignet macht.

  3. Plattformspezifisch: Es ist von Windows-Druckspoolern abhängig, was seine plattformübergreifende Anwendbarkeit einschränkt.

  4. Keine Dokumentenverarbeitung: Nur Byte-Übertragung ohne Darstellungsmöglichkeiten.

  5. Eingeschränkte Kontrolle: Minimale Konfigurationsmöglichkeiten für Druckaufträge.

Vergleich zwischen RawPrintund IronPDF

Feature RawPrint IronPDF
Funktionalität Sendet Druckrohdaten direkt an den Drucker Umfassende PDF-Erstellung und -Bearbeitung
Anwendungsfall Spezialisierte Drucksachen wie Etiketten Allgemeine Verwaltung und Erstellung von Dokumenten
Plattform-Abhängigkeit Windows-spezifisch Plattformübergreifend
Komplexität Low-Level, erfordert Kenntnisse der Druckerbefehle Benutzerfreundliche API auf hohem Niveau
PDF-Erstellung Nein Ja
PDF aus HTML erstellen Nein Ja
PDF von URL erstellen Nein Ja
PDFs bearbeiten/ändern Nein Ja
PDFs zusammenführen/aufteilen Nein Ja
Vorhandenes PDF ausdrucken Ja (Rohbytes) Ja (API auf hoher Ebene)
Drucksteuerung Basic Vollständige Optionen
Ideal für Direkter Druckerzugriff erforderlich PDF-bezogene Aufgaben in Web- und Desktop-Anwendungen
Flexibilität Begrenzt durch die Verarbeitung von Rohbytes Umfangreich mit mehreren Funktionalitäten

Im Gegensatz zu RawPrintbietet IronPDF eine robuste und vielseitige API für den umfassenden Umgang mit PDFs. Als etablierter Name in der .NET-Umgebung ermöglicht IronPDF Entwicklern die mühelose plattformübergreifende Erstellung, Bearbeitung und Konvertierung von PDFs.

Für Teams, die auf modernes .NET abzielen, bietet IronPDF plattformübergreifende Kompatibilität, die RawPrintvon Design her nicht bietet.


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 RawPrint
dotnet remove package RawPrint

# Install IronPDF
dotnet add package IronPdf
# Remove RawPrint
dotnet remove package RawPrint

# Install IronPDF
dotnet add package IronPdf
SHELL

Lizenz-Konfiguration

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Finden Sie die Verwendung von RawPrint

# Identify all RawPrintusage
grep -r "using RawPrint" --include="*.cs" .
grep -r "PrintRawFile\|PrintRawStream" --include="*.cs" .
# Identify all RawPrintusage
grep -r "using RawPrint" --include="*.cs" .
grep -r "PrintRawFile\|PrintRawStream" --include="*.cs" .
SHELL

Hinweis: Eigene P/Invoke-Wrapper um winspool.Drv verwenden manchmal den Klassennamen RawPrinterHelper und sehen oberflächlich RawPrintähnlich, aber sie sind nicht das Paket – sie rufen den Win32-Druckerwarteschlangendienst direkt auf. Das Paket selbst stellt nur IPrinter mit PrintRawFile und PrintRawStream zur Verfügung.


Komplette API-Referenz

Namensraumänderungen

// Before: RawPrint
using RawPrint;

// After: IronPDF
using IronPdf;
// Before: RawPrint
using RawPrint;

// After: IronPDF
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

Kern-API-Zuordnungen

RawPrint (echte öffentliche API) IronPDF Notizen
new Printer() / IPrinter new ChromePdfRenderer() / PdfDocument RawPrint schiebt Bytes;IronPDF generiert PDFs
printer.PrintRawFile(name, path, paused) PdfDocument.FromFile(path).Print() IronPDF rendert erneut zum Betriebssystem-Drucksystem; nicht RAW
printer.PrintRawStream(name, stream, doc, paused) new PdfDocument(stream).Print() Gleicher Vorbehalt
printer.OnJobCreated-Ereignis n/a Verwenden Sie stattdessen IronPDF-Druckoptionen
n/a ChromePdfRenderer.RenderHtmlAsPdf() PDFs erstellen
n/a PdfDocument.Merge() PDFs zusammenführen
n/a pdf.ApplyWatermark() Wasserzeichen hinzufügen

IronPDF druckt, indem das Dokument an das Betriebssystem übergeben wird, nicht indem rohe Bytes an den Spooler gestreamt werden. Wenn Ihr Drucker den RAW-Datentyp erfordert (ESC/POS, ZPL, bestimmte PCL-Workflows), ist das die Domäne von RawPrintund IronPDF kann ihn nicht ersetzen.


Beispiele für die Code-Migration

Beispiel 1: Konvertierung von HTML in PDF

Vor (RawPrint):

// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        // RawPrintcannot convert HTML to PDF. Sending raw HTML bytes to a printer just
        // prints the HTML source as text — the markup is not rendered.
        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] data = Encoding.ASCII.GetBytes(html);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            // PrintRawStream(printerName, stream, documentName, paused)
            printer.PrintRawStream("Microsoft Print to PDF", stream, "HTML Document", false);
        }
        Console.WriteLine("Raw HTML bytes sent to spooler (not rendered).");
    }
}
// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        // RawPrintcannot convert HTML to PDF. Sending raw HTML bytes to a printer just
        // prints the HTML source as text — the markup is not rendered.
        string html = "<html><body><h1>Hello World</h1></body></html>";
        byte[] data = Encoding.ASCII.GetBytes(html);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            // PrintRawStream(printerName, stream, documentName, paused)
            printer.PrintRawStream("Microsoft Print to PDF", stream, "HTML Document", false);
        }
        Console.WriteLine("Raw HTML bytes sent to spooler (not rendered).");
    }
}
Imports System
Imports System.IO
Imports System.Text
Imports RawPrint

Class Program
    Shared Sub Main()
        ' RawPrint cannot convert HTML to PDF. Sending raw HTML bytes to a printer just
        ' prints the HTML source as text — the markup is not rendered.
        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim data As Byte() = Encoding.ASCII.GetBytes(html)

        Dim printer As IPrinter = New Printer()
        Using stream As New MemoryStream(data)
            ' PrintRawStream(printerName, stream, documentName, paused)
            printer.PrintRawStream("Microsoft Print to PDF", stream, "HTML Document", False)
        End Using
        Console.WriteLine("Raw HTML bytes sent to spooler (not rendered).")
    End Sub
End Class
$vbLabelText   $csharpLabel

Nach (IronPDF):

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

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        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()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        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");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
        Dim renderer = New ChromePdfRenderer()
        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

Die architektonische Missanpassung ist selbst mit der benutzerfreundlichen API des Pakets sichtbar: RawPrintverschickt Bytes an einen Windows-Spooler mit dem RAW-Datentyp, daher führt das Übergeben von HTML dazu, dass der Drucker den Quelltext druckt. IronPDFs ChromePdfRenderer rendert tatsächlich das Markup. Siehe die HTML zu PDF-Dokumentation für umfassende Beispiele.

Beispiel 2: Konvertierung von URL in PDF

Vor (RawPrint):

// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        // RawPrintcannot fetch a URL or render a web page; downloading the HTML and
        // shipping it to the spooler just prints the raw HTML source.
        using (var client = new HttpClient())
        {
            string htmlSource = client.GetStringAsync("https://example.com").GetAwaiter().GetResult();
            byte[] data = Encoding.UTF8.GetBytes(htmlSource);

            IPrinter printer = new Printer();
            using (var stream = new MemoryStream(data))
            {
                printer.PrintRawStream("Microsoft Print to PDF", stream, "Web Page", false);
            }
            Console.WriteLine("Raw HTML sent to spooler (not a rendered PDF).");
        }
    }
}
// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        // RawPrintcannot fetch a URL or render a web page; downloading the HTML and
        // shipping it to the spooler just prints the raw HTML source.
        using (var client = new HttpClient())
        {
            string htmlSource = client.GetStringAsync("https://example.com").GetAwaiter().GetResult();
            byte[] data = Encoding.UTF8.GetBytes(htmlSource);

            IPrinter printer = new Printer();
            using (var stream = new MemoryStream(data))
            {
                printer.PrintRawStream("Microsoft Print to PDF", stream, "Web Page", false);
            }
            Console.WriteLine("Raw HTML sent to spooler (not a rendered PDF).");
        }
    }
}
Imports System
Imports System.IO
Imports System.Net.Http
Imports System.Text
Imports RawPrint

Class Program
    Shared Sub Main()
        ' RawPrint cannot fetch a URL or render a web page; downloading the HTML and
        ' shipping it to the spooler just prints the raw HTML source.
        Using client As New HttpClient()
            Dim htmlSource As String = client.GetStringAsync("https://example.com").GetAwaiter().GetResult()
            Dim data As Byte() = Encoding.UTF8.GetBytes(htmlSource)

            Dim printer As IPrinter = New Printer()
            Using stream As New MemoryStream(data)
                printer.PrintRawStream("Microsoft Print to PDF", stream, "Web Page", False)
            End Using
            Console.WriteLine("Raw HTML sent to spooler (not a rendered PDF).")
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Nach (IronPDF):

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

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        // Render a live website directly to PDF with full CSS, JavaScript, and images
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Website rendered to PDF successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        // Render a live website directly to PDF with full CSS, JavaScript, and images
        var pdf = renderer.RenderUrlAsPdf("https://example.com");
        pdf.SaveAs("webpage.pdf");
        Console.WriteLine("Website rendered to PDF successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
        Dim renderer = New ChromePdfRenderer()
        ' Render a live website directly to PDF with full CSS, JavaScript, and images
        Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
        pdf.SaveAs("webpage.pdf")
        Console.WriteLine("Website rendered to PDF successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

RawPrint kann keine Webseiten rendern - es verschickt nur Bytes an den Spooler. HTML herunterladen und durchschieben führt dazu, dass der Drucker den Quelltext druckt, nicht den gerenderten Inhalt. IronPDFs RenderUrlAsPdf() erfasst die vollständig gerenderte Webseite mit CSS, JavaScript und Bildern. Erfahren Sie mehr in unseren Tutorials.

Beispiel 3: Dokumentformatierung

Vor (RawPrint):

// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        // RawPrinthas no concept of fonts, margins, or layout — formatting must be
        // expressed in the printer's own command language (PCL, PostScript, ESC/POS, ZPL).
        // Example: a tiny PCL5 stream that selects portrait and a 16.66cpi font.
        string pclCommands = "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T";
        string text = "Plain text document - formatting must be expressed in printer command language";
        byte[] data = Encoding.ASCII.GetBytes(pclCommands + text);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            printer.PrintRawStream("HP LaserJet", stream, "Raw Document", false);
        }
    }
}
// NuGet: Install-Package RawPrint
using System;
using System.IO;
using System.Text;
using RawPrint;

class Program
{
    static void Main()
    {
        // RawPrinthas no concept of fonts, margins, or layout — formatting must be
        // expressed in the printer's own command language (PCL, PostScript, ESC/POS, ZPL).
        // Example: a tiny PCL5 stream that selects portrait and a 16.66cpi font.
        string pclCommands = "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T";
        string text = "Plain text document - formatting must be expressed in printer command language";
        byte[] data = Encoding.ASCII.GetBytes(pclCommands + text);

        IPrinter printer = new Printer();
        using (var stream = new MemoryStream(data))
        {
            printer.PrintRawStream("HP LaserJet", stream, "Raw Document", false);
        }
    }
}
Imports System
Imports System.IO
Imports System.Text
Imports RawPrint

Class Program
    Shared Sub Main()
        ' RawPrint has no concept of fonts, margins, or layout — formatting must be
        ' expressed in the printer's own command language (PCL, PostScript, ESC/POS, ZPL).
        ' Example: a tiny PCL5 stream that selects portrait and a 16.66cpi font.
        Dim pclCommands As String = ChrW(&H1B) & "&l0O" & ChrW(&H1B) & "(s0p16.66h8.5v0s0b3T"
        Dim text As String = "Plain text document - formatting must be expressed in printer command language"
        Dim data As Byte() = Encoding.ASCII.GetBytes(pclCommands & text)

        Dim printer As IPrinter = New Printer()
        Using stream As New MemoryStream(data)
            printer.PrintRawStream("HP LaserJet", stream, "Raw Document", False)
        End Using
    End Sub
End Class
$vbLabelText   $csharpLabel

Nach (IronPDF):

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

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial; margin: 40px; }
                    h1 { color: #2c3e50; font-size: 24px; }
                    p { line-height: 1.6; color: #34495e; }
                    .highlight { background-color: yellow; font-weight: bold; }
                </style>
            </head>
            <body>
                <h1>Formatted Document</h1>
                <p>This is a <span class='highlight'>beautifully formatted</span> document with CSS styling.</p>
                <p>Complex layouts, fonts, colors, and images are fully supported.</p>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("formatted.pdf");
        Console.WriteLine("Formatted PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
        var renderer = new ChromePdfRenderer();
        string html = @"
            <html>
            <head>
                <style>
                    body { font-family: Arial; margin: 40px; }
                    h1 { color: #2c3e50; font-size: 24px; }
                    p { line-height: 1.6; color: #34495e; }
                    .highlight { background-color: yellow; font-weight: bold; }
                </style>
            </head>
            <body>
                <h1>Formatted Document</h1>
                <p>This is a <span class='highlight'>beautifully formatted</span> document with CSS styling.</p>
                <p>Complex layouts, fonts, colors, and images are fully supported.</p>
            </body>
            </html>";

        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("formatted.pdf");
        Console.WriteLine("Formatted PDF created successfully");
    }
}
Imports IronPdf
Imports System

Module Program
    Sub Main()
        IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
        Dim renderer As New ChromePdfRenderer()
        Dim html As String = "
            <html>
            <head>
                <style>
                    body { font-family: Arial; margin: 40px; }
                    h1 { color: #2c3e50; font-size: 24px; }
                    p { line-height: 1.6; color: #34495e; }
                    .highlight { background-color: yellow; font-weight: bold; }
                </style>
            </head>
            <body>
                <h1>Formatted Document</h1>
                <p>This is a <span class='highlight'>beautifully formatted</span> document with CSS styling.</p>
                <p>Complex layouts, fonts, colors, and images are fully supported.</p>
            </body>
            </html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("formatted.pdf")
        Console.WriteLine("Formatted PDF created successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

Mit RawPrintbedeutet Formatierung über einfache Bytes hinaus, dass Sie Druckerbefehlsequenzen wie "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T" selbst erstellen und den PCL- oder PostScript-Dialekt des Ziel-Druckers kennen müssen.IronPDF verwendet standardisierte HTML und CSS – komplexe Layouts, Schriftarten, Farben und Bilder werden ohne druckerspezifisches Wissen vollständig unterstützt.


Zusammenfassung des Funktionsvergleichs

Feature RawPrint IronPDF
PDF-Erstellung
HTML zu PDF Nein Ja
URL zu PDF Nein Ja
Von Grund auf neu erstellen Nein Ja
PDF-Bearbeitung
PDFs zusammenführen Nein Ja
PDFs teilen Nein Ja
Wasserzeichen hinzufügen Nein Ja
Vorhandenes bearbeiten Nein Ja
Drucken
RAW-Bytes an den Spooler senden Ja Nein
ESC/POS, ZPL, Raw PCL Ja Nein
Über OS-Drucksystem drucken Nein Ja
Plattform
Windows Ja Ja
Linux Nein Ja
macOS Nein Ja
Docker Nein Ja
Anderes
Verschlüsselung / Sicherheit Nein Ja
Digitale Signaturen Nein Ja
PDF/A Nein Ja

Neue Funktionen nach der Migration

Nach der Umstellung auf IronPDF erhalten Sie Funktionen, die RawPrintnicht bieten kann:

PDF-Zusammenführung

var pdfs = pdfFiles.Select(f => PdfDocument.FromFile(f)).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("complete.pdf");
var pdfs = pdfFiles.Select(f => PdfDocument.FromFile(f)).ToList();
var merged = PdfDocument.Merge(pdfs);
merged.SaveAs("complete.pdf");
Dim pdfs = pdfFiles.Select(Function(f) PdfDocument.FromFile(f)).ToList()
Dim merged = PdfDocument.Merge(pdfs)
merged.SaveAs("complete.pdf")
$vbLabelText   $csharpLabel

Drucken mit Einstellungen

var pdf = PdfDocument.FromFile("report.pdf");

pdf.Print(new PrintOptions
{
    PrinterName = "HP LaserJet",
    NumberOfCopies = 2,
    DPI = 300,
    GrayScale = false
});
var pdf = PdfDocument.FromFile("report.pdf");

pdf.Print(new PrintOptions
{
    PrinterName = "HP LaserJet",
    NumberOfCopies = 2,
    DPI = 300,
    GrayScale = false
});
Dim pdf = PdfDocument.FromFile("report.pdf")

pdf.Print(New PrintOptions With {
    .PrinterName = "HP LaserJet",
    .NumberOfCopies = 2,
    .DPI = 300,
    .GrayScale = False
})
$vbLabelText   $csharpLabel

Erstellen und Drucken in einem Arbeitsgang

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
    <h1>Invoice #12345</h1>
    <p>Customer: John Doe</p>
    <p>Amount: $150.00</p>
");

// Print directly
pdf.Print("HP LaserJet");

// Or save first
pdf.SaveAs("invoice.pdf");
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
    <h1>Invoice #12345</h1>
    <p>Customer: John Doe</p>
    <p>Amount: $150.00</p>
");

// Print directly
pdf.Print("HP LaserJet");

// Or save first
pdf.SaveAs("invoice.pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("
    <h1>Invoice #12345</h1>
    <p>Customer: John Doe</p>
    <p>Amount: $150.00</p>
")

' Print directly
pdf.Print("HP LaserJet")

' Or save first
pdf.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

Migrations-Checkliste

Vor der Migration

  • Identifizieren Sie alle Verwendungen von RawPrint(PrintRawFile, PrintRawStream)
  • Jede Aufrufstelle klassifizieren: PDFs, die an Bürorucksner gehen, sind Kandidaten für IronPDF; ESC/POS, ZPL, EPL oder manuell erstellte PCL/PostScript-Bytes sollten bei RawPrintbleiben
  • Dokumentieren Sie die in Ihrer Anwendung verwendeten Druckernamen –IronPDF druckt über das Betriebssystem-Drucksystem, daher müssen die Namen immer noch aufgelöst werden
  • Notieren Sie jeglichen externen PDF-Erstellungscode, der konsolidiert werden kann.
  • Den IronPDF Lizenzschlüssel erhalten Sie unter IronPDF

Code-Aktualisierungen

  • Installieren Sie das IronPDF-Paket: dotnet add package IronPdf
  • Entfernen Sie RawPrintnur, wenn keine Rohbyte-Kanäle mehr vorhanden sind: dotnet remove package RawPrint
  • Ersetzen Sie Erstellen-dann-RawPrint-Pipelines durch ChromePdfRenderer plus pdf.Print()
  • Konsolidieren Sie die Erstellung und das Drucken von PDFs in einem Workflow auf Windows
  • Lizenzinitialisierung beim Anwendungsstart hinzufügen

Testen

  • Testdruck auf den Zieldruckern
  • Druckqualität überprüfen
  • Mehrere Kopien testen
  • Testen Sie den geräuschlosen Druck
  • Plattformübergreifende Verifizierung, falls erforderlich

Hinweis:RawPrint ist eine eingetragene Marke ihres jeweiligen Eigentümers. Diese Seite ist nicht mit RawPrintverbunden, wird nicht von RawPrintunterstützt oder gesponsert. Alle Produktnamen, Logos und Marken sind Eigentum ihrer jeweiligen Eigentümer. Vergleiche dienen nur zu Informationszwecken und spiegeln öffentlich zugängliche Informationen zum Zeitpunkt des Schreibens wider.

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