Passer au contenu du pied de page
GUIDES DE MIGRATION

Comment migrer de RawPrint à IronPDF en C#

Passer de RawPrintà IronPDF est moins un remplacement qu'une refonte : RawPrintet IronPDF résolvent des problèmes différents, et l'encadrement honnête pour la plupart des équipes est " complément ", pas " remplacer ". Ce guide examine les cas oùIronPDF subsume réellement un pipeline RawPrint(mettre en place un PDF, puis pousser les flux de travail sur Windows) et signale les cas où vous devez garder RawPrinten place (ESC/POS, ZPL, EPL, PCL brut).

Pourquoi migrer de RawPrintà IronPDF

Comprendre RawPrint

RawPrint est le package NuGet RawPrint (frogmorecs/RawPrint, v0.5.0, dernière version en septembre 2019, maintenant non répertorié/historique sur nuget.org). C'est un mince wrapper P/Invoke sur winspool.Drv qui envoie un flux d'octets directement au spouleur d'impression Fenêtresavec le type de données RAW. L'API publique est petite : une classe Printer implémentant IPrinter dans l'espace de noms RawPrint, exposant les surcharges PrintRawFile et PrintRawStream. Les appels Win32 sous-jacents (OpenPrinter, StartDocPrinter, WritePrinter, EndDocPrinter, ClosePrinter) sont cachés derrière cette interface — vous ne les écrivez pas vous-même lors de l'utilisation du package.

Cela fait de RawPrintun bon choix pour les imprimantes de reçus ESC/POS, les imprimantes d'étiquettes ZPL/EPL Zebra et les travaux hérités PCL/PostScript où vous avez déjà produit les octets que le firmware de l'imprimante attend. Pour les développeurs ciblant des environnements spécifiques à Fenêtreset nécessitant une communication directe avec l'imprimante, RawPrintoffre un moyen efficace de contourner les couches intermédiaires telles que les pilotes ou les interfaces graphiques.

Cependant, RawPrintn'est pas une bibliothèque PDF — il envoie simplement des données aux imprimantes. Si votre application construit actuellement un PDF dans une autre bibliothèque, puis le remet à RawPrint, tout le pipeline peut généralement s'effondrer dans IronPDF sur Windows.

Le problème principal : pas de création de PDF

RawPrint présente des limitations notables qui le rendent inadapté aux flux de travail documentaires modernes :

  1. Pas de création de PDF : RawPrintse concentre uniquement sur la transmission de données et ne propose aucune fonctionnalité de création, de rendu ou de manipulation de PDF.

  2. Très bas niveau : En manipulant directement des octets bruts, les développeurs doivent avoir une connaissance approfondie du langage de commande de l'imprimante, ce qui le rend moins adapté aux tâches d'impression de documents simples.

  3. Spécifique à la plateforme : Il dépend des spouleurs d'impression Windows, ce qui limite son applicabilité multiplateforme.

  4. Aucun traitement de document : simple transmission d'octets sans aucune capacité de rendu.

  5. Contrôle limité : options de configuration minimales des travaux d'impression.

Comparaison entre RawPrintet IronPDF

Fonction RawPrint IronPDF
Fonctionnalité Envoie les données d'impression brutes directement à l'imprimante Création et manipulation complètes de fichiers PDF
Cas d'utilisation Impression spécialisée comme les étiquettes Gestion et création de documents généraux
Dépendance de la plate-forme Spécifique à Windows Multiplateforme
Complexité Bas niveau, nécessite des connaissances en matière de commande d'imprimante API de haut niveau et conviviale
Création de PDF Non Oui
Créer un PDF à partir de HTML Non Oui
Créer un PDF à partir d'une URL Non Oui
Éditer/modifier des PDF Non Oui
Fusionner/séparer des PDF Non Oui
Imprimer le PDF existant Oui (octets bruts) Oui (API de haut niveau)
Contrôle d'impression Basique Options complètes
Idéal pour Besoins en matière d'accès direct à l'imprimante Tâches liées au PDF dans les applications web et de bureau
Flexibilité Limité par la manipulation d'octets bruts Extensif avec de multiples fonctionnalités

Contrairement à RawPrint,IronPDF propose une API robuste et polyvalente permettant de gérer les PDF de manière exhaustive. En tant que nom établi dans l'environnement .NET,IronPDF permet aux développeurs de créer, d'éditer et de convertir des PDF sans effort sur toutes les plateformes.

Pour les équipes ciblant le .NET moderne,IronPDF offre une compatibilité multiplateforme que RawPrint, par conception, n'offre pas.


Avant de commencer

Prérequis

  1. Environnement .NET : .NET Framework 4.6.2+ ou .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. Accès à NuGet : possibilité d'installer des packages NuGet
  3. Licence IronPDF : Obtenez votre clé de licence sur IronPDF

Modifications du paquet NuGet

# 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

Configuration de la licence

// 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

Trouver l'utilisation de 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

Remarque : les wrappers P/Invoke faits à la main autour de winspool.Drv utilisent parfois le nom de classe RawPrinterHelper et ressemblent superficiellement à l'utilisation de RawPrint, mais ils ne sont pas le package — ils appellent directement le spouleur Win32. Le package lui-même ne fait qu'exposer IPrinter avec PrintRawFile et PrintRawStream.


Référence API complète

Modifications de l'espace de nommage

// Before: RawPrint
using RawPrint;

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

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

Mappages de l'API de base

RawPrint (API publique réelle) IronPDF Notes
new Printer() / IPrinter new ChromePdfRenderer() / PdfDocument RawPrint envoie des octets ;IronPDF génère des PDFs
printer.PrintRawFile(name, path, paused) PdfDocument.FromFile(path).Print() IronPDF réinterprète au système d'impression de l'OS ; pas RAW
printer.PrintRawStream(name, stream, doc, paused) new PdfDocument(stream).Print() Même mise en garde
événement printer.OnJobCreated n/a Utilisez les options d'impression d'IronPDF à la place
n/a ChromePdfRenderer.RenderHtmlAsPdf() Créer des PDF
n/a PdfDocument.Merge() Fusionner des PDF
n/a pdf.ApplyWatermark() Ajouter des filigranes

IronPDF imprime en remettant le document au système d'exploitation, non pas en envoyant des octets bruts au spouleur. Si votre imprimante nécessite le type de données RAW (ESC/POS, ZPL, certaines configurations PCL), cela relève de la compétence de RawPrintet IronPDF ne peut s'y substituer.


Exemples de migration de code

Exemple 1 : Conversion HTML vers PDF

Avant (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

Après (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

L'inadéquation architecturale est visible même avec l'API amie du package : RawPrintenvoie des octets à un spouleur Fenêtresavec le type de données RAW, donc lui donner du HTML cause simplement à l'imprimante de l'imprimer en texte source. Le ChromePdfRenderer de IronPDF rend en fait le balisage. Voir la documentation HTML vers PDF pour des exemples complets.

Exemple 2 : Conversion d'une URL en PDF

Avant (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

Après (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 ne peut pas rendre les pages Web — il ne fait qu'envoyer les octets au spouleur. Télécharger du HTML et le pousser à travers entraîne l'impression du texte source par l'imprimante, pas du contenu rendu. Le RenderUrlAsPdf() de IronPDF capture la page web entièrement rendue avec CSS, JavaScript et images. Pour en savoir plus, consultez nos tutoriels.

Exemple 3 : Formatage des documents

Avant (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

Après (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

Avec RawPrint, formater au-delà des octets bruts signifie rédiger manuellement des séquences de commandes d'imprimante comme "\x1B&l0O\x1B(s0p16.66h8.5v0s0b3T" et connaître le dialecte PCL ou PostScript de l'imprimante cible.IronPDF utilise du HTML et CSS standards — des mises en page complexes, des polices, des couleurs et des images sont entièrement pris en charge sans connaissance spécifique de l'imprimante.


Résumé de la comparaison des fonctionnalités

Fonction RawPrint IronPDF
Création de PDF
HTML vers PDF Non Oui
URL vers PDF Non Oui
Créer à partir de zéro Non Oui
Manipulation de PDF
Fusionner des PDF Non Oui
Diviser les PDF Non Oui
Ajouter des filigranes Non Oui
Modifier un document existant Non Oui
Imprimer
Envoyer des octets RAW au spouleur Oui Non
ESC/POS, ZPL, PCL brut Oui Non
Imprimer via le système d'impression de l'OS Non Oui
Plateforme
Fenêtres Oui Oui
Linux Non Oui
macOS Non Oui
Docker Non Oui
Autres
Cryptage / Sécurité Non Oui
Signatures numériques Non Oui
PDF/A Non Oui

Nouvelles capacités après la migration

Après avoir migré vers IronPDF, vous bénéficiez de fonctionnalités que RawPrintne peut pas vous offrir :

Fusion de fichiers PDF

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

Imprimer avec les paramètres

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

Créer et imprimer en un seul flux de travail

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

Liste de contrôle de la migration

Pré-migration

  • Identifier toutes les utilisations de RawPrint(PrintRawFile, PrintRawStream)
  • Classifiez chaque site d'appel : les PDFs allant aux imprimantes de bureau sont candidats pour IronPDF ; ESC/POS, ZPL, EPL, ou octets PCL/PostScript faits à la main devraient rester sur RawPrint
  • Documenter les noms des imprimantes utilisés dans votre application —IronPDF imprime via le système d'impression de l'OS, donc les noms doivent encore être résolus
  • Notez tout code externe de création de PDF pouvant être consolidé.
  • Obtenez votre clé de licence IronPDF sur IronPDF

Mises à jour du code

  • Installer le package IronPDF: dotnet add package IronPdf
  • Ne supprimer RawPrintque lorsqu'il ne reste aucun canal d'octets bruts : dotnet remove package RawPrint
  • Remplacer les pipelines create-then-RawPrint par ChromePdfRenderer plus pdf.Print()
  • Consolider la création de PDF et l'impression en un seul flux de travail sur Windows
  • Ajouter l'initialisation de la licence au démarrage de l'application

Essai

  • Impression de test sur les imprimantes cibles
  • Vérifier la qualité d'impression
  • Tester plusieurs copies
  • Test d'impression silencieuse
  • Vérification multiplateforme si nécessaire

Veuillez noterRawPrint est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, approuvé par, ou sponsorisé par RawPrint. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont à titre informatif uniquement et reflètent les informations publiquement disponibles au moment de l'écriture.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi