Comment convertir HTML en PDF avec CSS réactif en utilisant C#

Comment utiliser CSS avec HTML en C#35 ; pour des PDF réactifs

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF permet aux développeurs C# de convertir HTML avec CSS en PDF tout en préservant le responsive design en prenant en charge les types de médias " écran " et " impression ". Le mode impression optimise les mises en page pour la sortie PDF et permet des fonctionnalités telles que la répétition des en-têtes de tableaux sur plusieurs pages.

<TODO : Ajouter une image ici -->

<Description : Diagramme visuel montrant la différence entre les types de médias CSS écran et impression lors de la génération de PDF -->

Le type de média CSS "screen" est principalement destiné à l'affichage sur des écrans d'ordinateurs et autres appareils similaires. Lorsque des styles sont définis pour le type de média "écran", ils affectent la manière dont le contenu web apparaît sur les écrans, en mettant l'accent sur la conception visuelle et l'interactivité. Cela inclut des éléments tels que les effets de survol, les animations et les images d'arrière-plan qui améliorent l'expérience de l'utilisateur sur les écrans numériques.

Le type de média CSS "print" est conçu pour l'impression. Elle détermine la manière dont la page web apparaît lorsqu'elle est imprimée, en se concentrant sur l'optimisation du contenu pour la page imprimée. Cette optimisation peut inclure l'ajustement de la taille des polices, des marges et la suppression des éléments inutiles à l'impression. Les feuilles de style d'impression suppriment souvent les menus de navigation, les barres latérales et les éléments décoratifs pour se concentrer sur le contenu principal, ce qui rend les documents plus lisibles et permet d'économiser de l'encre.

Lorsqu'ils travaillent avec le Chrome PDF Rendering Engine d'IronPDF, les développeurs ont un contrôle total sur le type de média à utiliser, ce qui garantit que les PDF générés à partir de HTML conservent la conception et la fonctionnalité prévues. Cette flexibilité est précieuse lors de la création de documents devant servir à la fois à la distribution numérique et à l'impression physique.

en-tête:2(Démarrage rapide : Générer des PDF avec HTML et CSS réactifs)

Convertissez votre HTML avec CSS responsive en PDF à l'aide d'IronPDF. Quelques lignes de code suffisent pour garantir un rendu parfait de vos PDF sur tous les appareils, en préservant l'intégrité des styles à l'écran et à l'impression. Ce guide rapide montre comment utiliser IronPDF pour obtenir une sortie PDF professionnelle à partir d'un contenu HTML existant.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

  2. Copiez et exécutez cet extrait de code.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print } }
        .RenderUrlAsPdf("https://example.com")
        .SaveAs("responsive.pdf");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment fonctionnent les types CSS pour l'écran et l'impression dans CSS3?

Pourquoi le choix du bon type de média CSS est-il important?

IronPDF génère des PDF à partir de HTML en C# et peut rendre une feuille de style d'écran en PDF par défaut. Ceci est pratique parce que les feuilles de style d'impression sont souvent moins bien documentées, utilisées ou développées par rapport à leurs homologues écran. Cependant, il est crucial de comprendre la distinction entre ces types de médias pour produire des PDF de qualité professionnelle.

Lorsque vous travaillez avec CSS (Screen & Print) dans IronPDF, le choix entre les types de médias écran et impression a un impact significatif sur votre sortie PDF finale. Les supports d'écran préservent les éléments interactifs et les conceptions visuelles riches, tandis que les supports d'impression optimisent le contenu pour la lisibilité et la consommation sur papier.

CSS3 permet que certains styles CSS soient rendus exclusivement dans les documents imprimés, tandis que d'autres sont destinés aux navigateurs web. IronPDF peut travailler avec l'un ou l'autre, vous donnant un contrôle total sur la façon dont votre contenu HTML est rendu en PDF. Cette flexibilité garantit que, que vous créiez des rapports numériques, des factures imprimables ou des documents hybrides, vos PDF répondent aux exigences spécifiques du cas d'utilisation prévu.

Quand dois-je utiliser le type de média CSS Print vs Screen?

Créez et appliquez une feuille de style imprimée à votre HTML : Apprenez à créer et appliquer une feuille de style d'impression parfaite..

Chaque type de média CSS vise des cas d'utilisation différents. Essayez chacun d'entre eux pour voir lequel répond à vos besoins. Tenez compte des lignes directrices suivantes :

Utilisez le type de média CSS Print lorsque:

  • Création de documents destinés à l'impression physique
  • Générer des factures, des rapports ou des documents formels
  • Vous avez besoin d'en-têtes de tableaux répétés d'une page à l'autre
  • L'économie d'encre est une priorité
  • Travailler avec les exigences de Taille de papier personnalisée

Utilisez le type de média CSS Screen lorsque:

  • Création de PDF interactifs avec des éléments visuels riches
  • Préserver l'esthétique de la conception web dans le PDF
  • Inclure les images et les couleurs d'arrière-plan
  • Le PDF sera principalement visualisé sur des écrans
  • Travailler avec des conversions HTML responsive en PDF

Quelles sont les différences visuelles entre les modes écran et impression ? [CSS print vs screen media types comparison showing Apple Mac page with images hidden in print version](/static-assets/pdf/how-to/pixel-perfect-html-to-pdf/Comparison%20of%20Screen%20and%20Print%201.webp) (comparaison des types de médias d'impression et d'écran, montrant une page Apple Mac avec des images cachées dans la version d'impression) [CSS media types comparison : La mise en page de l'impression omet les icônes, la mise en page de l'écran inclut les icônes pour les spécifications du MacBook](/static-assets/pdf/how-to/pixel-perfect-html-to-pdf/Comparison%20of%20Screen%20and%20Print%202.webp) Les exemples ci-dessus montrent comment le même contenu HTML est rendu différemment en fonction de la sélection du type de média CSS. Remarquez que la version imprimée supprime les images décoratives et les icônes pour créer un document plus propre et plus facile à imprimer, tandis que la version écran conserve tous les éléments visuels pour la visualisation numérique.
## Comment répéter les en-têtes de tableau sur plusieurs pages d'un document PDF?

Pourquoi les en-têtes de tableau n'apparaissent-ils qu'une seule fois en mode écran ? Lorsque vous traitez des tableaux HTML qui s'étendent sur plusieurs pages, définissez la propriété **`CssMediaType`** sur **`PdfCssMediaType.Print`**. Cela permet de s'assurer que l'en-tête du tableau se répète en haut de chaque page étendue. En revanche, **`PdfCssMediaType.Screen`** indique à Chrome de n'imprimer les en-têtes qu'une seule fois. Ce comportement est particulièrement important lors de la création de [Rapports IronPDF](https://ironpdf.com/how-to/csharp-pdf-reports/) avec de longs tableaux de données. Le type de support imprimé active des règles CSS spécifiques que les navigateurs utilisent pour la pagination, notamment la propriété `thead {display : table-header-group;}` qui permet la répétition de l'en-tête. Cette caractéristique est essentielle pour maintenir le contexte lorsque les lecteurs feuillettent des documents de plusieurs pages.

Quelle est la structure HTML requise pour les en-têtes répétitifs ? Pour que Chrome détecte l'en-tête du tableau, enfermez-le dans une balise ``. Let's render the 'tableHeader.html example of repeating table headers' HTML file to PDF to see the effect. Voici la structure HTML recommandée : ```html
Column 1 Column 2 Column 3
``` ### Comment implémenter la répétition des en-têtes de tableaux en C#? ```cs :path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-responsive-css-table-header.cs ``` Pour des options de mise en forme de tableau plus avancées, explorez [Marges personnalisées](https://ironpdf.com/how-to/custom-margins/) pour contrôler l'espacement autour de vos tableaux, ou mettez en œuvre [Page Breaks](https://ironpdf.com/how-to/html-to-pdf-page-breaks/) pour vous assurer que les tableaux démarrent sur de nouvelles pages lorsque cela est nécessaire.

À quoi ressemble le fichier PDF final ? ## Configuration avancée des types de médias CSS Lorsque vous travaillez avec des mises en page complexes, combinez les types de médias CSS avec d'autres fonctionnalités d'IronPDF. Par exemple, lors de l'utilisation des paramètres [Viewport & Zoom](https://ironpdf.com/how-to/viewport-zoom/), le type de média CSS que vous choisissez influe sur la mise à l'échelle des conceptions réactives dans le PDF final. Voici un exemple de configuration avancée : ```cs using IronPdf; using IronPdf.Rendering; ChromePdfRenderer renderer = new ChromePdfRenderer(); // Configure for print media type with custom settings renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print; renderer.RenderingOptions.PrintHtmlBackgrounds = true; // Override print defaults renderer.RenderingOptions.MarginTop = 25; renderer.RenderingOptions.MarginBottom = 25; // Add custom CSS for print media string customCss = @" @media print { .no-print { display: none; } body { font-size: 12pt; } h1 { page-break-after: avoid; } } "; // Render with custom CSS injection string htmlWithCss = $"{yourHtmlContent}"; PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlWithCss); pdf.SaveAs("advanced-print-layout.pdf"); ``` Pour les projets nécessitant une précision au pixel près, pensez à utiliser la fonctionnalité [Debug HTML with Chrome](https://ironpdf.com/how-to/pixel-perfect-html-to-pdf/) pour prévisualiser exactement le rendu de vos types de médias CSS avant de générer le PDF final. ## Bonnes pratiques pour les types de médias CSS dans IronPDF 1. **Tester les deux types de médias** : Testez toujours votre HTML avec les deux types de médias, l'écran et l'imprimé, afin de déterminer lequel produit les meilleurs résultats pour votre cas d'utilisation spécifique. 2. **Utiliser l'impression pour les documents** : Lors de la création de documents formels, de factures ou de rapports, le type de support imprimé fournit généralement des résultats plus nets et plus professionnels. 3. **Leverage Media Queries** : Utilisez les requêtes de média CSS pour adapter vos mises en page à différents scénarios de sortie. 4. **Considérer les performances** : Les feuilles de style d'impression ont souvent un rendu plus rapide parce qu'elles excluent les éléments visuels inutiles. 5. **Validez votre CSS** : Utilisez les [paramètres de rendu HTML](https://ironpdf.com/examples/pdf-generation-settings/) pour vous assurer que votre CSS est correctement appliqué lors de la génération du PDF. En maîtrisant les types de médias CSS dans IronPDF, vous pouvez créer des PDF parfaitement adaptés à vos besoins, qu'ils soient conçus pour la distribution numérique ou l'impression physique.

Questions Fréquemment Posées

Comment convertir du HTML avec CSS responsive en PDF en C# ?

IronPDF offre un moyen simple de convertir du HTML avec CSS responsive en PDF en C#. Vous pouvez utiliser la classe ChromePdfRenderer et spécifier le type de média CSS (écran ou impression) via la propriété RenderingOptions. En quelques lignes de code, IronPDF préserve votre design responsive et assure un rendu parfait sur les différents appareils.

Quelle est la différence entre les types de médias CSS "screen" et "print" lors de la génération de PDF ?

IronPDF prend en charge les deux types de médias CSS. Le type de média "screen" affiche le contenu tel qu'il apparaît sur les écrans numériques avec des effets de survol et des animations, tandis que le type de média "print" optimise le contenu pour les pages imprimées en ajustant les polices, les marges et en supprimant les éléments inutiles tels que les menus de navigation. Le moteur de rendu PDF Chrome d'IronPDF vous permet de contrôler totalement le type de média à utiliser.

Comment activer la répétition des en-têtes de tableaux sur les pages d'un PDF ?

Pour permettre la répétition des en-têtes de tableau d'une page à l'autre dans votre PDF, définissez le type de média CSS sur " Print " dans IronPDF. Pour ce faire, définissez CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print dans les RenderingOptions. Le type de support d'impression comprend des optimisations telles que des en-têtes répétés qui rendent les documents de plusieurs pages plus lisibles.

Puis-je convertir l'URL d'un site web en direct directement en PDF avec le responsive design ?

Oui, IronPDF vous permet de convertir des sites web en direct directement en PDF tout en conservant le responsive design. Utilisez la méthode RenderUrlAsPdf avec la classe ChromePdfRenderer. Vous pouvez spécifier si les types de médias CSS doivent être utilisés pour l'écran ou l'impression afin de garantir un rendu du PDF conforme à vos exigences.

Quel moteur de rendu la bibliothèque utilise-t-elle pour la conversion de HTML en PDF ?

IronPDF utilise le moteur de rendu PDF de Chrome, qui assure une conversion HTML vers PDF précise avec une prise en charge complète des fonctionnalités CSS3 modernes, du JavaScript et du responsive design. Ce moteur garantit que vos PDF conservent la conception et la fonctionnalité du contenu HTML d'origine.

Comment configurer les dimensions de la fenêtre de visualisation pour la conception de PDF réactifs ?

IronPdf vous permet de configurer les dimensions du viewport via la propriété RenderingOptions du ChromePdfRenderer. Cela garantit que vos requêtes média CSS réactives fonctionnent correctement lors de la conversion de HTML en PDF, ce qui vous permet de contrôler la façon dont le contenu s'affiche à différentes tailles d'écran.

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
Prêt à commencer?
Nuget Téléchargements 16,685,821 | Version : 2025.12 vient de sortir