IRONSOFTWAREHOME
UTILISATION DE IRONPDF

Comment convertir un PDF en TIFF VB .NET avec IronPDF

Curtis Chau
Curtis Chau
Updated: 1 mars 2026

IronPDF permet aux développeurs ASP.NET de générer et d'afficher des fichiers PDF directement dans les onglets du navigateur en configurant correctement les en-têtes Content-Disposition sur " inline " plutôt que sur " attachment ", éliminant ainsi les téléchargements indésirables tout en offrant une expérience de visualisation PDF fiable.

Quel problème ce tutoriel résout-il ?

L'ouverture de fichiers PDF dans une nouvelle fenêtre ou un nouvel onglet du navigateur est une demande courante dans les applications web ASP.NET. Les développeurs rencontrent souvent des difficultés avec les documents PDF qui se téléchargent automatiquement au lieu de s'afficher dans le navigateur lorsque les utilisateurs cliquent sur un lien. Ce comportement frustrant perturbe l'expérience de l'utilisateur, en particulier lorsqu'il consulte des rapports, des factures ou de la documentation à laquelle il doit se référer tout en continuant à travailler sur la page en cours.

IronPDF apporte une solution efficace à ce défi, en offrant de puissantes fonctionnalités de génération et d'affichage de PDF qui s'intègrent de manière fiable aux applications ASP.NET . Plutôt que de devoir manipuler manuellement les en-têtes de réponse et les paramètres Content-Disposition, les développeurs peuvent utiliser ChromePdfRenderer d'IronPDF pour créer et diffuser des fichiers PDF qui s'ouvrent systématiquement dans de nouveaux onglets du navigateur.

Pourquoi devriez-vous vous soucier des problèmes d'affichage des fichiers PDF ?

Lors de la diffusion de fichiers PDF via ASP.NET, le comportement par défaut se traduit souvent par des téléchargements plutôt que par l'affichage dans le navigateur. Cela se produit en raison de la manière dont le serveur envoie le fichier au navigateur via les en-têtes de réponse HTTP . L'en-tête Content-Disposition détermine si un fichier PDF s'ouvre directement ou s'il est téléchargé.

Le code ASP.NET traditionnel utilisant Response.BinaryWrite avec un tableau d'octets définit souvent des en-têtes qui déclenchent les téléchargements. Même lorsque les développeurs définissent Response.ContentType = "application/pdf", des valeurs Content-Disposition manquantes ou incorrectes provoquent le téléchargement du navigateur au lieu d'afficher le document PDF. Les différents navigateurs gèrent également les fichiers PDF de manière incohérente : alors que certains navigateurs de bureau peuvent afficher les fichiers directement dans la page par défaut, les navigateurs mobiles optent souvent pour le téléchargement.

Quand ces problèmes surviennent-ils le plus souvent ?

La configuration côté serveur devient plus complexe lorsqu'on travaille avec des documents PDF générés dynamiquement à partir de chaînes HTML ou de sources de bases de données. Sans le bon chemin d'accès et les en-têtes appropriés, parvenir à un affichage cohérent entre les navigateurs représente un véritable défi. De nombreux développeurs se tournent vers Stack Overflow pour trouver des solutions à ce problème persistant. L' entrée MDN Web Docs sur Content-Disposition est la référence faisant autorité pour comprendre la syntaxe exacte et le comportement du navigateur pour les valeurs en ligne et les valeurs jointes.

Comment IronPDF simplifie-t-il l'affichage des PDF?

IronPDF transforme la tâche de génération et d'affichage de PDF en un code simple. Grâce à son moteur de rendu basé sur Chrome , IronPDF génère des documents PDF d'une précision pixel parfaite à partir de contenu HTML, tout en gérant automatiquement les détails techniques qui posent souvent problème aux développeurs.

Qu'est-ce qui différencie l'approche d'IronPDF ?

La classe ChromePdfRenderer de la bibliothèque offre une approche moderne de la création de PDF. Au lieu de gérer manuellement des tableaux d'octets et des flux de réponses, les développeurs peuvent générer des PDF à partir de chaînes HTML , de fichiers HTML ou d'URL grâce à de simples appels de méthode. IronPDF gère le processus de rendu en interne, ce qui garantit une sortie cohérente dans différents environnements.

Quelles sont les fonctionnalités les plus utiles ?

Au-delà de la génération de base, IronPDF offre de nombreuses options de rendu pour personnaliser la sortie, notamment le format du papier, les marges et les délais d'exécution JavaScript . Cette flexibilité le rend adapté à la création de tout type de document, des plus simples aux plus complexes, avec des graphiques et du contenu dynamique.

Le moteur de rendu prend également en charge les en-têtes et pieds de page personnalisés, les filigranes et la numérotation des pages, le tout configuré via un objet d'options simple avant d'appeler la méthode de rendu. Pour les développeurs qui doivent respecter un guide de style de marque existant, ce niveau de contrôle sur le format de sortie représente un avantage significatif par rapport à la construction manuelle de données binaires PDF.

Comment installer IronPDF?

Installez IronPDF via le gestionnaire de packages NuGet pour commencer :

PM > Install-Package IronPdf

Cette simple commande ajoute IronPDF et toutes ses dépendances au projet. Une fois installée, le namespace IronPdf devient disponible dans toute l'application, donnant accès à ChromePdfRenderer, PdfDocument, et à toutes les classes associées.

Comment générer et ouvrir des fichiers PDF avec IronPDF?

Voici un exemple complet pour ASP.NET Core qui génère un fichier PDF et le propose pour ouverture dans un onglet de navigateur :

using IronPdf;
using Microsoft.AspNetCore.Mvc;

[Route("[controller]")]
public class PdfController : Controller
{
    [HttpGet("GeneratePdf")]
    public IActionResult GeneratePdf()
    {
        // Create a new ChromePdfRenderer instance
        var renderer = new ChromePdfRenderer();

        // Generate PDF from HTML string -- supports CSS and JavaScript
        string htmlContent = $@"
            <html>
                <body>
                    <h1>Sample PDF Document</h1>
                    <p>This PDF opens in a new browser tab.</p>
                    <p>Generated on: {DateTime.Now}</p>
                </body>
            </html>";

        // Render HTML to a PDF document
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);

        // Get the binary data for streaming
        byte[] pdfBytes = pdf.BinaryData;

        // Set inline display -- this is the key header for browser display
        Response.Headers.Append("Content-Disposition", "inline; filename=document.pdf");
        Response.Headers.Append("Content-Length", pdfBytes.Length.ToString());

        return File(pdfBytes, "application/pdf");
    }
}

À quoi ressemble le PDF généré?

Visionneuse PDF affichant un document PDF d'exemple avec le titre 'Document PDF d'exemple' et une horodatage de génération au 20/11/2025 15:37:54 - démontrant une génération de PDF réussie et une affichage par le navigateur

Le code ci-dessus utilise [HttpGet]. Lorsque vous créez un PDF après qu'un utilisateur a soumis un formulaire, utilisez plutôt l'attribut [HttpPost]. Cette distinction est importante : les requêtes GET doivent être idempotentes, tandis que les requêtes POST transportent les données du formulaire soumis utilisées pour générer le document personnalisé.

Remarquez que Response.Headers.Append est utilisé à la place de Response.Headers.Add. Dans ASP.NET Core, la méthode Append est l'API privilégiée pour ajouter des en-têtes de réponse car elle ne génère pas d'exception si l'en-tête existe déjà. L'utilisation de Add peut provoquer des exceptions dans les pipelines middleware où les en-têtes peuvent déjà avoir été partiellement définis.

Pourquoi l'en-tête Content-Disposition est-il important ?

Le détail crucial pour ouvrir les fichiers PDF dans le navigateur est de définir l'en-tête Content-Disposition sur "inline" plutôt que "attachment". La valeur "attachment" indique au navigateur de télécharger le fichier et de l'enregistrer sur le disque. Le définir sur "inline" ordonne au navigateur de tenter d'afficher le fichier dans la fenêtre du navigateur -- ce que les navigateurs modernes prenant en charge le rendu natif des PDF feront automatiquement.

Comment implémenter cela dans WebForms ?

Pour les applications WebForms, vous pouvez servir le PDF directement via la réponse HTTP et déclencher l'affichage dans le navigateur à partir d'un événement de clic sur un bouton :

using IronPdf;

protected void OpenPdf_Click(object sender, EventArgs e)
{
    var renderer = new ChromePdfRenderer();

    // Generate PDF from HTML content
    var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice</h1><p>Your order details</p>");

    // Get byte array from the PDF document
    byte[] data = pdf.BinaryData;

    // Clear any existing response output
    Response.Clear();
    Response.ContentType = "application/pdf";
    Response.AddHeader("Content-Length", data.Length.ToString());
    Response.AddHeader("Content-Disposition", "inline; filename=invoice.pdf");
    Response.BinaryWrite(data);
    Response.End();
}

Si vous avez également besoin de créer des formulaires PDF ou d'ajouter des signatures numériques , IronPDF offre une prise en charge intégrée de ces deux fonctionnalités avancées.

Quelles sont les options de contrôle des onglets disponibles dans le navigateur ?

Alors que le code côté serveur détermine si un PDF s'affiche en ligne, le contrôle de son ouverture dans le même onglet ou dans un nouvel onglet nécessite du HTML ou du JavaScript côté client. L'attribut target sur les balises d'ancrage HTML fournit l'approche la plus simple :

<a href="/Pdf/GeneratePdf" target="_blank">View PDF</a>
HTML

Comment le PDF s'affiche-t-il dans un nouvel onglet ?

Un navigateur Web affichant un document PDF généré avec le titre 'Document PDF d'exemple' et une horodatage dans un nouvel onglet de navigateur à localhost:7068/Pdf/GeneratePdf

Quand faut-il utiliser JavaScript pour plus de contrôle ?

Pour les scénarios où l'URL est déterminée dynamiquement, la fonction window.open de JavaScript donne un contrôle précis sur quand et comment l'onglet PDF s'ouvre :

function openPdfInNewTab() {
    // Open the PDF endpoint in a new browser tab
    window.open('/Pdf/GeneratePdf', '_blank');
    return false; // Prevent default link or form submission behavior
}
JavaScript

Comment combiner JavaScript avec les contrôles ASP.NET ?

Dans les applications ASP.NET WebForms, attachez l'appel JavaScript directement à un contrôle de bouton en utilisant l'attribut OnClientClick :

<asp:Button ID="btnViewPdf" runat="server"
            OnClientClick="window.open('/Pdf/GeneratePdf', '_blank'); return false;"
            Text="Open PDF in New Tab" />

Lorsque vous utilisez window.open(), le second argument '_blank' est le paramètre cible qui ouvre le document dans une nouvelle fenêtre ou un nouvel onglet. Cela reflète le comportement de target="_blank" sur une balise d'ancrage HTML standard.

Et si l'on intégrait directement des fichiers PDF dans la page ?

La balise HTML <object> fournit une autre option pour intégrer des documents PDF directement dans la page actuelle, utile lorsque les utilisateurs ont besoin de lire le document en même temps que d'autres contenus :

<object data="/Pdf/GeneratePdf" type="application/pdf" width="100%" height="600px">
    <embed src="/Pdf/GeneratePdf" type="application/pdf" />
    <p>Your browser does not support embedded PDF documents.
       <a href="/Pdf/GeneratePdf" target="_blank">View the PDF file</a>
    </p>
</object>
HTML

À quoi ressemble un PDF intégré ?

Visionneuse PDF intégrée affichant un document PDF d'exemple au sein d'une page Web, montrant le titre du document, la description et l'horodatage de génération avec les contrôles standard de visionneuse PDF

Cette approche fonctionne bien avec les navigateurs modernes qui prennent en charge le rendu PDF natif. D'après la documentation ASP.NET Core de Microsoft , des en-têtes HTTP appropriés, associés à du code côté client, constituent la solution multiplateforme la plus fiable. Notez que l'attribut target="_blank" est essentiel sur le lien de repli.

Comment gérez-vous les différentes sources de fichiers PDF ?

IronPDF prend en charge diverses sources d'entrée autres que les chaînes HTML. Lors de la manipulation de fichiers PDF existants ou de la génération de documents à partir de différents formats de données, la bibliothèque offre des options flexibles pour la diffusion de contenu PDF aux utilisateurs.

Dans la réalité, les applications génèrent rarement tous les PDF à partir de zéro. Les rapports peuvent être stockés sous forme de fichiers PDF sur un lecteur partagé, les contrats signés peuvent être stockés dans un conteneur de stockage blob et les factures archivées sont souvent récupérées sous forme de tableaux d'octets à partir d'une base de données relationnelle. La même stratégie d'en-tête Content-Disposition s'applique dans les trois cas ; la principale différence réside dans la manière dont les octets sont obtenus avant d'être écrits dans la réponse.

Comment charger des fichiers PDF existants ?

Pour charger des documents PDF existants depuis le disque et les afficher en ligne :

using IronPdf;
using Microsoft.AspNetCore.Mvc;

[Route("[controller]")]
public class PdfController : Controller
{
    private readonly IWebHostEnvironment _env;

    public PdfController(IWebHostEnvironment env) => _env = env;

    [HttpGet("ViewFile")]
    public IActionResult ViewFile(string fileName)
    {
        // Build the full path to the PDF on disk
        string path = Path.Combine(_env.WebRootPath, "pdfs", fileName);

        // Load the existing PDF document
        var pdf = PdfDocument.FromFile(path);

        // Read the binary content from the PDF stream
        byte[] bytes = pdf.Stream.ToArray();

        // Serve inline so the browser displays it directly
        Response.Headers.Append("Content-Disposition", $"inline; filename={fileName}");
        Response.Headers.Append("Content-Length", bytes.Length.ToString());

        return File(bytes, "application/pdf");
    }
}

À quoi ressemble l'ouverture d'un PDF existant ?

Visionneuse PDF affichant un document intitulé 'Qu'est-ce qu'un PDF ?' avec un texte explicatif sur l'historique et les capacités du format PDF dans une fenêtre de navigateur

Comment travailler avec des fichiers PDF provenant de bases de données ?

La manipulation de tableaux d'octets extraits d'une base de données nécessite une attention particulière afin de charger correctement le document avant de le diffuser :

using IronPdf;
using Microsoft.AspNetCore.Mvc;

[Route("[controller]")]
public class PdfController : Controller
{
    [HttpGet("DisplayFromDatabase/{documentId:int}")]
    public IActionResult DisplayFromDatabase(int documentId)
    {
        // Retrieve the stored byte array from the database
        byte[] pdfData = GetPdfFromDatabase(documentId);

        // Load into an IronPDF document object for optional manipulation
        var pdf = PdfDocument.FromBytes(pdfData);

        // Set response headers for inline browser display
        Response.Headers.Append(
            "Content-Disposition",
            $"inline; filename=document_{documentId}.pdf");
        Response.Headers.Append("Content-Length", pdfData.Length.ToString());

        return File(pdfData, "application/pdf");
    }

    private static byte[] GetPdfFromDatabase(int documentId)
    {
        // Replace with actual database retrieval logic
        return Array.Empty<byte>();
    }
}

Quelles options de rendu pouvez-vous personnaliser ?

IronPDF prend en charge la conversion avancée de HTML en PDF, y compris le style CSS, les images et les polices Web. La bibliothèque fournit également des guides de dépannage pour obtenir des résultats impeccables au pixel près dans les environnements de production.

Le tableau ci-dessous récapitule les principales stratégies de service et indique quand utiliser chacune d'elles :

Stratégies de diffusion de fichiers PDF dans ASP.NET
StratégieValeur d'en-têteComportement des ongletsIdéal pour
Affichage en ligneContent-Disposition: inlineMême ongletAperçu rapide sans quitter la page
Nouvel onglet via HTMLContent-Disposition: inline + target="_blank"Nouvel ongletL'utilisateur lit le PDF en parallèle de la page originale
Téléchargement de fichierContent-Disposition : attachmentInvite de téléchargementEnregistrement des rapports ou des factures sur disque
Objet intégréContent-Disposition: inline + <object>Intégré dans la pageAfficher le PDF à côté d'autres contenus

Quelles sont vos prochaines étapes ?

Ouvrir un PDF dans une nouvelle fenêtre en ASP.NET C# devient simple avec IronPDF . En gérant les détails de la génération de PDF et en configurant correctement les en-têtes HTTP, les développeurs peuvent garantir un affichage cohérent sur tous les navigateurs tout en conservant un code propre et facile à maintenir. Qu'il s'agisse de chaînes HTML, de documents PDF existants ou de tableaux d'octets provenant de bases de données, IronPDF fournit les outils nécessaires pour diffuser le contenu PDF exactement comme les utilisateurs l'attendent.

Essayez gratuitement IronPDF dès aujourd'hui et ajoutez des fonctionnalités PDF Professional à n'importe quelle application ASP.NET . Pour un déploiement en production, explorez les options de licence qui incluent une assistance prioritaire et l'accès à l'ensemble des fonctionnalités des applications web Enterprise .

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.

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