Comment utiliser le codage UTF-8 et les langues internationales dans les PDF

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

IronPDF prend en charge le codage 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 caractères des langues étrangères seront restitués correctement. Dans ce guide pratique, nous verrons comment rendre UTF-8 dans un PDF.

Commencez avec IronPDF

Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer




Exemple de code simple

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

Nous avons ici un exemple de chaîne passée dans la méthode RenderHtmlAsPdf, qui attend une chaîne HTML en entrée :

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

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

ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล

À partir du texte ci-dessus, nous allons envelopper les chaînes de caractères dans des <p>, car il s'agit d'une chaîne HTML. Transmettre la chaîne au moteur de rendu PDF Chrome d'IronPDF :

: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")
VB   C#

Il s'agit du fichier produit par le code :

Pour garantir un encodage parfait de votre HTML en PDF, il existe deux endroits où vous pouvez spécifier le jeu de caractères souhaité.

  • Dans ChromePdfRenderer.RenderingOptions 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

En savoir plus sur les langues internationales

IronPDF prend en charge le HTML-To-PDF dans les langues à écriture non latine, notamment 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 à prendre en compte lorsque l'on travaille avec des langues internationales :

Les polices de caractères

Une police de caractères compatible avec votre jeu de caractères doit être installée sur votre serveur. Ceux-ci sont normalement installés automatiquement sur les serveurs web modernes, mais les serveurs plus anciens peuvent avoir été installés avec des versions plus anciennes de certaines polices telles que Arial, qui peuvent ne pas prendre en charge l'intégralité de l'UTF-8.

Une solution alternative consiste à spécifier une police Web dans votre CSS, comme celles fournies par Google Fonts. Pour plus d'informations, consultez l'articleComment utiliser les polices Google dans votre prochain projet de conception Web.

Encodage des entrées

Il se peut que vous deviez spécifier le codage d'entrée de votre document pour que le rendu soit correct. Vous pouvez le faire de la manière suivante :

Ajout d'une balise HTML "Meta Charset", 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