IRONSOFTWAREHOME
UTILISATION DE IRONPDF

Comment créer un visualiseur de PDF Blazor avec IronPDF

Curtis Chau
Curtis Chau
Updated: 23 avril 2026

Les tâches d'impression de fichiers PDF ASP .NET impliquent souvent des défis uniques auxquels les développeurs sont fréquemment confrontés. Que vous génériez des documents PDF pour des factures, des rapports ou des étiquettes d'expédition, la mise en œuvre d'une fonctionnalité d'impression fiable nécessite de naviguer dans les complexités de l'architecture serveur-client.

Dans cet article, nous vous montrerons comment gérer les tâches d'impression PDF en utilisant la puissante bibliothèque PDF for .NET de IronPDF.

Comprendre le Défi

Les applications de bureau traditionnelles peuvent accéder directement à l'imprimante par défaut, mais les applications ASP.NET Core rencontrent plusieurs obstacles lors de l'impression de documents PDF :

// This fails in ASP.NET - wrong approach
Process.Start(@"C:\Files\document.pdf"); // Works locally, crashes on server

Le code ci-dessus illustre une erreur courante. L'environnement serveur ne dispose pas d'un accès direct à l'imprimante, et le système génère des erreurs en raison de restrictions de permissions IIS. Une autre chose à garder à l'esprit est que les applications web doivent gérer efficacement les scénarios d'impression côté serveur et côté client.

Commencer avec IronPDF

IronPDF fournit une solution complète pour .NET core pour générer des documents PDF et les imprimer sans dépendances externes comme Adobe Reader. Installons le package IronPDF en utilisant NuGet :

PM > Install-Package IronPdf

Cette bibliothèque .NET fonctionne parfaitement sur tous les systèmes d'exploitation, éliminant les problèmes de compatibilité qui affectent d'autres bibliothèques. Cet outil fonctionne bien dans les environnements Microsoft Windows et autres systèmes d'exploitation.

Créer et Imprimer des Documents PDF du Côté Serveur avec l'Imprimante par Défaut

Voici comment générer et imprimer un document PDF à partir d'un balisage HTML dans votre contrôleur ASP.NET :

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using System.Drawing; 
public class PdfController : Controller
{
    public IActionResult Index()
    {
        // Initialize the renderer
        var renderer = new ChromePdfRenderer();
        // Configure print-optimized settings
        renderer.RenderingOptions.PrintHtmlBackgrounds = true;
        renderer.RenderingOptions.MarginBottom = 10;
        renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
        // Generate PDF from HTML
        var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1><p>Total: $999</p>");
        // Print to default printer
        pdf.Print();
        return Ok("Document sent to printer");
    }
}
C#

Le ChromePdfRenderer gère la conversion tout en préservant le style CSS et le formatage des tailles de police. Cet exemple montre une impression basique à l'imprimante par défaut sans interaction utilisateur.

Sortie

Configuration de l'Imprimante Réseau

Pour les environnements d'entreprise nécessitant un routage d'imprimante spécifique :

public IActionResult PrintToNetworkPrinter(string filePath)
{
    // Load existing PDF file
    var pdfDocument = PdfDocument.FromFile(filePath);
    // Get print document for advanced settings
    var printDocument = pdfDocument.GetPrintDocument();
    // Specify network printer
    printDocument.PrinterSettings.PrinterName = @"\\server\printer";
    printDocument.PrinterSettings.Copies = 2;
    // Configure page settings
    printDocument.DefaultPageSettings.Landscape = false;
    var renderer = printDocument.PrinterSettings.PrinterResolution;
    // Execute print
    printDocument.Print();
    return Json(new { success = true });
}

Cette approche offre un contrôle complet sur les paramètres de l'imprimante, y compris le format du papier et la résolution, ce qui est essentiel pour un dessin et une mise en page corrects.

Sortie

Comment imprimer des fichiers PDF par programmation dans ASP.NET : Figure 2 - Impression de PDF avec impression réseau

Confirmation d'Impression

Comment imprimer des fichiers PDF par programmation dans ASP.NET : Figure 3 - Message de succès pour la tâche d'impression PDF

Stratégie d'Impression Côté Client

Puisque les navigateurs restreignent l'accès direct à l'imprimante, implémentez une impression côté client en servant le fichier PDF pour téléchargement :

public IActionResult GetRawPrintablePdf()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(GetInvoiceHtml());
        // This header tells the browser to display the file inline.
        // We use IHeaderDictionary indexer to prevent ArgumentException.
        **HttpContext context**.Response.Headers["Content-Disposition"] = "inline; filename=invoice.pdf";
        return File(pdf.BinaryData, "application/pdf");
    }
    public IActionResult PrintUsingClientWrapper()
    {
        var printUrl = Url.Action(nameof(GetRawPrintablePdf));
        // Use a simple HTML/JavaScript wrapper to force the print dialog
        var html = new StringBuilder();
        html.AppendLine("<!DOCTYPE html>");
        html.AppendLine("<html lang=\"en\">");
        html.AppendLine("<head>");
        html.AppendLine("    <title>Print Document</title>");
        html.AppendLine("</head>");
        html.AppendLine("<body>");
        // Load the PDF from the 'GetRawPrintablePdf' action into an invisible iframe.
        html.AppendLine($"    <iframe src='{printUrl}' style='position:absolute; top:0; left:0; width:100%; height:100%; border:none;'></iframe>");
        html.AppendLine("    <script>");
        // Wait for the iframe (and thus the PDF) to load, then trigger the print dialog.
        html.AppendLine("        window.onload = function() {");
        html.AppendLine("            // Wait briefly to ensure the iframe content is rendered before printing.");
        html.AppendLine("            setTimeout(function() {");
        html.AppendLine("                window.print();");
        html.AppendLine("            }, 100);");
        html.AppendLine("        };");
        html.AppendLine("    </script>");
        html.AppendLine("</body>");
        html.AppendLine("</html>");
        return Content(html.ToString(), "text/html");
    }
    private string GetInvoiceHtml()
    {
        // Build HTML with proper structure
        return @"
        <html>
        <head>
            <style>
                body { font-family: Arial, sans-serif; }
                .header { font-weight: bold; color: #1e40af; border-bottom: 2px solid #3b82f6; padding-bottom: 5px; }
                .content { padding-top: 10px; }
            </style>
        </head>
        <body>
            <div class='header'>Invoice Summary (Client View)</div>
            <div class='content'>
                <p>Document content: This file is optimized for printing.</p>
                <p>Total Amount: <b>$999.00</b></p>
            </div>
        </body>
        </html>";
    }
C#

Le document PDF s'ouvre dans le navigateur où les utilisateurs peuvent déclencher l'impression via leur imprimante par défaut en utilisant les boîtes de dialogue d'impression standard du navigateur. Cette approche est supérieure à une demande de serveur direct pour l'impression.

Sortie

Comment imprimer des fichiers PDF par programmation dans ASP.NET : Figure 4 - Boîte de dialogue d'impression côté client

Travailler avec différentes entrées de code source

IronPDF gère avec flexibilité diverses entrées de code source, ce qui est important à noter pour les développeurs cherchant à créer du code d'impression dynamique :

public async Task<IActionResult> PrintFromMultipleSources()
{
    var renderer = new ChromePdfRenderer();
    // From URL
    var pdfFromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com");
    // From HTML file path
    var pdfFromFile = renderer.RenderHtmlFileAsPdf(@"Templates\report.html");
    var pdfToStream = renderer.RenderHtmlAsPdf("<h2>PDF from Memory Stream</h2><p>This content was loaded into memory first.</p>");
// Now, write the valid PDF bytes to the stream
using (var stream = new MemoryStream(pdfToStream.BinaryData))
{
    var pdfFromStream = new PdfDocument(stream);
    // Example: Print the PDF loaded from the stream
    // pdfFromStream.Print(); 
}
pdfFromUrl.Print();
// Logging the various files handled
    var fileList = new List<string> { "URL", "File Path", "Memory Stream" };
return Ok("PDF documents processed and 'example.com' printed to default server printer.");
}

Les lignes ci-dessus démontrent comment créer une nouvelle liste de sources de fichiers gérées. Chaque méthode préserve la structure du document et les graphiques tout en maintenant la qualité d'impression.

Comment imprimer des fichiers PDF par programmation dans ASP.NET : Figure 5

Gestion des Erreurs et Journalisation

Implémentez une gestion robuste des erreurs pour les environnements de production :

using System.Drawing.Printing; // For PrinterSettings
// ... other usings ...
public IActionResult SafePrint(string documentId)
{
    try
    {
        var pdf = LoadPdfDocument(documentId);
        // Verify printer availability
        if (!PrinterSettings.InstalledPrinters.Cast<string>()
            .Contains("Target Printer"))
        {
            // Log error and handle gracefully
            return BadRequest("Printer not available");
        }
        pdf.Print();
        // Log successful output
        return Ok($"Document {documentId} printed successfully");
    }
    catch (Exception ex)
    {
        // Log error details
        return StatusCode(500, "Printing failed");
    }
}

Cela garantit une impression fiable même lorsque les ressources système ne sont pas disponibles et est une partie clé de votre service d'impression.

Scénarios de Sortie

Imprimante Non Disponible

Si l'imprimante spécifiée dans le code n'est pas disponible, le code fournira ce message d'erreur :

Comment imprimer des fichiers PDF par programmation dans ASP.NET : Figure 6 - Erreur imprimante non disponible

PDF Imprimé avec Succès

Si votre PDF est imprimé avec succès, vous devriez voir un message de confirmation tel que :

Comment imprimer des fichiers PDF par programmation dans ASP.NET : Figure 7 - Message de succès impression PDF

Configuration Avancée

La structure de dossiers d'IronPDF supporte des scénarios complexes. La version de la bibliothèque IronPDF que vous utilisez peut affecter ces paramètres :

public IActionResult ConfigureAdvancedPrinting(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();
    // Configure rendering options
    renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.RenderDelay = 500; // Wait for dynamic content
    // Generate complex PDF documents
    var pdf = renderer.RenderHtmlAsPdf(GetDynamicContent());
    // Apply security settings
    pdf.SecuritySettings.AllowUserPrinting = true;
    pdf.MetaData.Author = "Your Company";
    return File(pdf.BinaryData, "application/pdf");
}

La commande pour imprimer est simplement pdf.Print() une fois le document généré.

Alternative IronPrint

Pour des besoins d'impression spécialisés, Iron Software offre également IronPrint, une bibliothèque d'impression .NET dédiée avec un support multiplateforme amélioré. Vous pouvez trouver un lien pour plus d'informations sur leur site Web. Le paramètre principal est simplement le chemin du fichier. La description du produit est disponible sur leur site web.

Conclusion

IronPDF transforme l'impression PDF ASP.NET d'un défi complexe en une implémentation simple. Sans nécessiter d'Adobe Reader ou de dépendances externes, vous pouvez générer et imprimer des fichiers PDF avec un minimum de code. La bibliothèque PDF gère tout, de la conversion HTML à la configuration de l'imprimante, ce qui la rend idéale pour l'automatisation côté serveur et les scénarios d'impression côté client.

Prêt à simplifier votre flux de travail d'impression PDF ? Commencez dès aujourd'hui avec l'essai gratuit et découvrez comment IronPDF simplifie le traitement des documents dans vos applications ASP.NET. Avec une documentation complète et un support technique direct, vous aurez une impression PDF prête pour la production en quelques minutes.

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 et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise