Comment intégrer des caractères UTF-8 dans des fichiers PDF à l'aide de C#

How to Use UTF-8 Encoding and International Languages in PDFs

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

IronPDF prend en charge l'encodage UTF-8 dans les PDF car il est conforme à la norme Chrome. Tout caractère pouvant être rendu correctement dans un navigateur Chrome sera pris en charge par IronPDF. Vous pouvez être assuré que les langues étrangères auront leurs caractères rendus correctement. Dans ce guide, nous allons passer en revue comment vous pouvez rendre UTF-8 dans un PDF.

Démarrage rapide : Générer des PDF encodés en UTF-8 avec IronPDF

Cet exemple montre comment générer rapidement un PDF avec encodage UTF-8 en utilisant IronPDF. En définissant simplement l'InputEncoding sur UTF-8 et en utilisant la méthode RenderHtmlAsPdf, les développeurs peuvent s'assurer que les caractères internationaux sont affichés correctement. Le processus est simple, nécessitant seulement quelques lignes de code, ce qui le rend facile pour les développeurs de commencer à créer des PDF Unicode.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    var renderer = new IronPdf.ChromePdfRenderer();
    renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;
    var pdf = renderer.RenderHtmlAsPdf("<html><head><meta charset='utf-8'></head><body>こんにちは世界</body></html>");
    pdf.SaveAs("utf8-example.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

Comment intégrer des caractères UTF-8 dans des PDF en C#
  1. Télécharger la bibliothèque IronPDF C# pour intégrer des caractères UTF-8 dans des PDF
  2. Mettre les caractères UTF-8 dans une chaîne ou un fichier HTML
  3. Définir la propriété InputEncoding sur l'encodage UTF8
  4. Générer un PDF à partir de la chaîne ou du fichier HTML avec les méthodes RenderHtmlAsPdf et RenderHtmlFileAsPdf
  5. Spécifier l'encodage sur la balise HTML meta

Exemple de code simple

Lorsque vous travaillez avec IronPDF, nous utilisons souvent des ensembles de caractères étendus tels que l'encodage UTF-8.

Voici un exemple de la chaîne étant passée dans la méthode RenderHtmlAsPdf, qui attend une entrée de chaîne HTML :

string htmlContent = @"
    <p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>

    <p>أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.</p>

    <p>ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ
    แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรปลเมอร ทป วาไรตบกเมเปล</p>
";
string htmlContent = @"
    <p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>

    <p>أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.</p>

    <p>ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ
    แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรปลเมอร ทป วาไรตบกเมเปล</p>
";
Dim htmlContent As String = "
    <p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>

    <p>أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.</p>

    <p>ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ
    แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรปลเมอร ทป วาไรตบกเมเปล</p>
"
$vbLabelText   $csharpLabel

Le texte ci-dessus est enveloppé dans des balises <p> car nous traitons avec une chaîne HTML. Vous pouvez passer cette chaîne HTML au Chrome PDF Renderer de IronPDF en utilisant des méthodes comme RenderHtmlAsPdf.

:path=/static-assets/pdf/content-code-examples/how-to/utf-8.cs
using IronPdf;

const string html_with_utf_8 =
    @"<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;

var pdf = renderer.RenderHtmlAsPdf(html_with_utf_8);
pdf.SaveAs("Unicode.pdf");
Imports IronPdf

Private Const html_with_utf_8 As String = "<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>"

Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8

Dim pdf = renderer.RenderHtmlAsPdf(html_with_utf_8)
pdf.SaveAs("Unicode.pdf")
$vbLabelText   $csharpLabel

Voici le fichier que le code a produit :

Pour vous assurer d'obtenir un encodage parfait de votre HTML en PDF, spécifiez votre charset désiré à deux endroits :

  • Dans ChromePdfRenderer.RenderingOptions en utilisant System.Text.Encoding.UTF8
  • Dans votre en-tête HTML :
<html>
    <head>
        <meta charset='utf-8'>
    </head>
    <body>
        こんにちは世界
    </body>
</html>
<html>
    <head>
        <meta charset='utf-8'>
    </head>
    <body>
        こんにちは世界
    </body>
</html>
HTML

Plus d'informations sur les langues internationales

IronPDF prend en charge la conversion d'HTML en PDF dans les langues à écriture non latine, y compris le chinois, le japonais, l'arabe, l'hébreu, le russe, le thaï et toutes les langues internationales prises en charge par Unicode, y compris les documents en langues mixtes.

Il y a deux choses à considérer lors du travail avec des langues internationales :

Polices de caractères

Une police de caractères qui prend en charge votre jeu de caractères doit être installée sur votre serveur. Celles-ci sont normalement installées automatiquement sur les serveurs Web modernes, mais les anciens serveurs peuvent avoir été installés avec d'anciennes versions de certaines polices comme Arial, qui peuvent ne pas avoir une prise en charge complète de l'UTF-8.

Une solution alternative est de spécifier une police Web dans votre CSS, comme celles fournies par Google Fonts. Plus d'informations peuvent être trouvées dans l'article Comment utiliser Google Fonts dans votre prochain projet de conception Web.

Encodage d'entrée

Vous devrez peut-être spécifier l'encodage d'entrée de votre document pour qu'il soit rendu correctement. Vous pouvez le faire de la manière suivante :

Ajouter une balise « Meta Charset » HTML, par exemple :

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
HTML

Prêt à voir ce que vous pouvez faire d'autre ? Consultez notre page de tutoriels ici : Fonctionnalités supplémentaires

Questions Fréquemment Posées

Comment puis-je créer un PDF avec un encodage UTF-8 en C# ?

Pour créer un PDF avec un encodage UTF-8 en C#, utilisez la méthode RenderHtmlAsPdf d'IronPDF. Tout d'abord, assurez-vous que votre contenu HTML inclut des caractères encodés en UTF-8, puis définissez la propriété InputEncoding sur UTF8 avant de rendre.

Pourquoi l'UTF-8 est-il important lors de la génération de PDF ?

UTF-8 est crucial pour la génération de PDF car il prend en charge tous les caractères Unicode, assurant un rendu précis des caractères internationaux et spéciaux. IronPDF utilise l'UTF-8 pour se conformer aux normes modernes du web, le rendant approprié pour un support linguistique diversifié.

Quels sont les défis typiques avec la génération de PDF UTF-8 ?

Les défis courants incluent l'assurance d'un rendu correct des caractères pour les écritures non-latines et la gestion des polices qui prennent en charge des ensembles de caractères divers. IronPDF aborde ces problèmes en permettant l'utilisation de polices Web comme Google Fonts et en définissant le bon charset dans le HTML.

Comment puis-je rendre des écritures non-latines dans un PDF en utilisant C# ?

Pour rendre des écritures non-latines dans un PDF en utilisant C#, utilisez IronPDF. Assurez-vous que votre contenu HTML inclut l'ensemble de caractères nécessaire et spécifiez une police Web compatible si nécessaire. IronPDF s'occupera du rendu des écritures comme le chinois, le japonais ou l'arabe.

Quelles étapes dois-je suivre pour assurer un encodage UTF-8 correct dans mes PDF ?

Pour assurer un encodage UTF-8 correct dans les PDF, utilisez IronPDF et incluez une balise meta charset="UTF-8" dans votre HTML. Définissez également le ChromePdfRenderer.RenderingOptions.InputEncoding sur UTF8.

Comment puis-je résoudre les problèmes d'encodage dans les PDF générés en utilisant C# ?

Si vous rencontrez des problèmes d'encodage, vérifiez que votre HTML inclut une balise meta charset="UTF-8" et que vous utilisez des polices qui prennent en charge vos caractères. IronPDF vous permet de spécifier ces paramètres pour résoudre les problèmes d'encodage.

Puis-je utiliser les Google Fonts pour améliorer le support des langues internationales dans les PDF ?

Oui, les Google Fonts peuvent être utilisés pour améliorer le support des langues internationales dans les PDF. Avec IronPDF, vous pouvez spécifier ces polices Web dans votre HTML, assurant que tous les caractères sont affichés correctement dans le PDF généré.

Quel est le rôle de la balise 'Meta Charset' dans la génération de PDF ?

La balise 'Meta Charset' définit l'encodage des caractères pour votre contenu HTML, ce qui est crucial pour rendre correctement le texte dans les PDF. IronPDF utilise cette balise pour s'assurer que les caractères encodés en UTF-8 sont traités avec précision.

IronPDF est-il entièrement compatible avec .NET 10 lors de la génération de PDF en UTF-8 ?

Oui, IronPDF est entièrement compatible avec .NET 10, y compris pour les flux de travail impliquant du HTML encodé en UTF-8 ou Unicode. Sous .NET 10, vous pouvez toujours utiliser ChromePdfRenderer.InputEncoding = System.Text.Encoding.UTF8 et inclure une balise ` <meta charset="UTF-8"> comme avec les versions précédentes de .NET. IronPDF affirme être entièrement compatible avec .NET 10 dans sa documentation.

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,154,058 | Version : 2025.11 vient de sortir