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

Utilisation de C#35 ; pour créer des PDF UTF-8 / Unicode avec des langues internationales

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

IronPDF prend entièrement en charge le codage UTF-8 et les caractères Unicode dans les PDF, ce qui permet aux développeurs de rendre les langues internationales comme le chinois, le japonais, l'arabe et le thaï en définissant InputEncoding sur UTF8 et en veillant à la bonne déclaration du charset dans les balises HTML meta.

<TODO : Ajouter une image ici -->

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.

Le moteur de rendu Chrome d'IronPDF offre une prise en charge complète des caractères Unicode, ce qui permet de créer des documents multilingues. Qu'il s'agisse de développer des applications pour les marchés internationaux ou de gérer plusieurs jeux de caractères au sein d'un même document, IronPDF garantit un rendu cohérent et précis sur toutes les plateformes. Cette capacité s'étend aux scripts complexes, aux langues allant de droite à gauche et aux symboles spéciaux.

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

Cet exemple montre comment générer un PDF avec un encodage UTF-8 à l'aide d'IronPDF. En réglant le InputEncoding sur UTF-8 et en utilisant la méthode RenderHtmlAsPdf, les développeurs peuvent s'assurer que les caractères internationaux s'affichent correctement. Le processus ne nécessite que quelques lignes de code.

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.

    // Initialize the Chrome PDF renderer
    var renderer = new IronPdf.ChromePdfRenderer();
    
    // Set the input encoding to UTF-8 to support international characters
    renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;
    
    // Render HTML containing Japanese text to PDF
    // Note: Always include meta charset='utf-8' in your HTML
    var pdf = renderer.RenderHtmlAsPdf("<html><head><meta charset='utf-8'></head><body>こんにちは世界</body></html>");
    
    // Save the PDF with UTF-8 content
    pdf.SaveAs("utf8-example.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 créer un exemple simple de PDF UTF-8?

<TODO : Ajouter une image ici -->

Lorsque nous travaillons avec IronPDF, nous utilisons souvent des jeux de caractères étendus tels que UTF-8 Encoding. Cela est essentiel pour la création de PDF contenant du texte en plusieurs langues ou des symboles spéciaux. Le codage UTF-8 garantit que tous les caractères sont correctement représentés et affichés dans vos documents PDF, quelle que soit la langue ou le script utilisé.

Pour les développeurs qui travaillent avec des applications internationales, il est essentiel de comprendre comment mettre en œuvre correctement le codage UTF-8. IronPDF simplifie ce processus en fournissant des méthodes directes pour gérer les caractères Unicode. Pour en savoir plus sur le travail avec les langues internationales et le CMJK, consultez notre guide de dépannage.

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

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

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

    <p>ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ
    แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรปลเมอร ทป วาไรตบกเมเปล</p>
";
// Example HTML content containing text in multiple languages
// Japanese, Arabic, and Thai text samples for demonstration
string htmlContent = @"
    <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. Pour des documents HTML plus complexes, vous pouvez consulter notre guide sur la conversion de HTML en PDF.

: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");
$vbLabelText   $csharpLabel

Lorsque vous travaillez avec du contenu UTF-8, il est important de comprendre comment IronPDF gère les différents types de contenu. Vous pouvez également convertir des fichiers HTML contenant des caractères UTF-8 en utilisant des méthodes similaires. En outre, si vous travaillez avec des polices web pour garantir un affichage correct des caractères, consultez notre guide sur l'utilisation des polices web et des polices d'icônes.

Voici le fichier que le code a produit :

Pour garantir un encodage parfait de votre HTML en PDF, spécifiez le jeu de caractères souhaité à deux endroits. Cette double approche garantit que le moteur de rendu et le document HTML lui-même sont correctement configurés pour le contenu UTF-8 :

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

Qu'est-ce qu'il faut savoir sur l'assistance linguistique internationale ?

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. Grâce à cette prise en charge complète des langues, IronPDF convient aux applications mondiales qui doivent générer des PDF dans plusieurs langues simultanément.

Lors du développement d'applications destinées à un public international, il est essentiel de disposer d'un support linguistique adéquat. La prise en charge de l'Unicode par IronPDF garantit que vos PDF s'afficheront correctement, quelle que soit la langue ou la région cible. Pour des informations plus détaillées sur la gestion des polices dans différentes langues, consultez notre guide de gestion des polices.

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

Quelles sont les polices de caractères compatibles avec mon jeu de caractères ?

Une police de caractères prenant 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.

Pour résoudre les problèmes liés aux polices, en particulier lors du déploiement dans différents environnements, consultez notre guide sur le dépannage des polices. Si vous effectuez un déploiement sur des services en nuage tels qu'Azure ou AWS, vous devrez peut-être vous assurer que les polices sont correctement installées, comme indiqué dans notre guide de déploiement Azure ou notre guide de déploiement AWS.

Une solution alternative est de spécifier une police Web dans votre CSS, comme celles fournies par Google Fonts. Pour plus d'informations, consultez l'article Comment utiliser les polices Google dans votre prochain projet de conception Web. IronPDF prend entièrement en charge les polices web, ce qui peut s'avérer particulièrement utile lorsque vous travaillez avec des jeux de caractères spéciaux ou lorsque vous avez besoin d'un rendu cohérent des polices sur différentes plateformes.

Comment définir le bon codage d'entrée?

Vous devrez peut-être spécifier l'encodage d'entrée de votre document pour qu'il soit rendu correctement. Une configuration correcte de l'encodage est essentielle pour une représentation précise des caractères dans vos PDF. Voici les méthodes permettant de garantir un encodage correct :

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

En outre, lorsque vous travaillez avec du contenu UTF-8 provenant de sources ou de fichiers externes, vous pouvez être amené à gérer différents scénarios d'encodage. Notre guide complet sur la création de nouveaux PDF couvre différentes approches pour travailler avec du contenu encodé.

Pour les scénarios avancés impliquant plusieurs langues et des mises en page complexes, IronPDF propose des options de configuration étendues. Vous pouvez contrôler divers aspects de la génération de PDF, notamment l'orientation des pages, les marges, etc., comme indiqué dans notre guide des options de rendu.

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

Questions Fréquemment Posées

Comment créer un PDF encodé en UTF-8 en C# ?

Pour créer des PDF encodés en UTF-8 avec IronPDF, initialisez un ChromePdfRenderer, définissez la propriété InputEncoding à UTF8 en utilisant renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8, puis utilisez la méthode RenderHtmlAsPdf pour convertir le HTML contenant des caractères internationaux en PDF.

Quelles sont les langues prises en charge par IronPDF pour la génération de PDF ?

IronPDF prend en charge toutes les langues internationales, notamment le chinois, le japonais, l'arabe, le thaï et d'autres langues qui utilisent les caractères Unicode. Tout caractère pouvant être rendu dans un navigateur Chrome sera correctement affiché dans les PDF générés par IronPDF.

Dois-je inclure quelque chose de spécial dans mon code HTML pour la prise en charge de l'UTF-8 ?

Oui, vous devez toujours inclure une balise meta charset='utf-8' dans votre HTML lorsque vous travaillez avec des caractères internationaux. Cela permet de s'assurer que le codage des caractères est correct lorsqu'IronPDF convertit le HTML en PDF.

IronPDF peut-il gérer les langues allant de droite à gauche et les scripts complexes ?

Oui, le moteur de rendu Chrome d'IronPDF offre une prise en charge complète des scripts complexes et des langues allant de droite à gauche comme l'arabe et l'hébreu, garantissant ainsi un rendu cohérent et précis sur toutes les plateformes.

Quel est le code minimum requis pour générer un PDF UTF-8 ?

Le code minimal ne nécessite que trois étapes : var renderer = new IronPdf.ChromePdfRenderer() ; renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8 ; var pdf = renderer.RenderHtmlAsPdf('Votre texte UTF-8') ; pdf.SaveAs('output.pdf') ;

Comment IronPDF assure-t-il la compatibilité des caractères Unicode ?

IronPDF est conforme à la norme Chrome pour le rendu, ce qui signifie qu'il prend pleinement en charge le codage UTF-8 et les caractères Unicode. Cela garantit que tout caractère rendu correctement dans Chrome sera affiché avec précision dans les PDF créés avec IronPDF.

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 17,012,929 | Version : 2025.12 vient de sortir