如何在 PDF 中使用 UTF-8 编码和国际语言

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

IronPDF 支持 PDF 中的 UTF-8 编码,因为它符合 Chrome 浏览器标准。IronPDF 支持任何可在 Chrome 浏览器中正常显示的字符。您可以放心,外语字符也能正常显示。在本教程中,我们将逐步介绍如何在 PDF 中呈现 UTF-8 编码。

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于PDF的C# NuGet库

安装使用 NuGet

Install-Package IronPdf
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronPDFNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变PDF。

适用于PDF的C# NuGet库 nuget.org/packages/IronPdf/
Install-Package IronPdf

考虑安装 IronPDF DLL 直接。下载并手动安装到您的项目或GAC表单中: IronPdf.zip

手动安装到你的项目中

下载DLL



简单代码示例

在使用 IronPDF 时,我们经常会使用UTF-8 编码等扩展字符集。

下面是一个例子,字符串被传入 "RenderHtmlAsPdf "方法,该方法需要输入 HTML 字符串:

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

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

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

从上面的文字中,我们将用 ` 来包装字符串。

标记,因为我们处理的是 HTML 字符串。将字符串传递给 IronPDF 的 Chrome 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");
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#

这是代码生成的文件:

为确保将 HTML 完美编码为 PDF,您可能需要在两个地方指定所需的字符集。

  • 在 "ChromePdfRenderer.RenderingOptions "中使用 "System.Text.Encoding.UTF8
  • 在 HTML 标题中
<html>
        <head>
            <meta charset = 'utf-8'>
        </head>
        <body>
            こんにちは世界
        </body>
</html>
<html>
        <head>
            <meta charset = 'utf-8'>
        </head>
        <body>
            こんにちは世界
        </body>
</html>
HTML

关于国际语言的更多信息

IronPDF 支持非拉丁字母语言的 HTML 转 PDF,包括中文、日文、阿拉伯文、希伯来文、俄文、泰文、日文以及 Unicode 支持的所有国际语言,包括混合语言文档。

在使用国际语言时,有两点需要考虑:

字体

服务器上必须安装支持字符集的字体。这些字体通常会自动安装在现代网络服务器上,但旧版本的服务器可能安装了某些字体的旧版本,如 Arial 字体,这些字体可能不完全支持 UTF-8。

另一种解决方案是在 CSS 中指定网络字体,如 Google Fonts 提供的字体。更多信息请参见 这里.

输入编码

您可能需要指定文档的输入编码,以便正确呈现。您可以通过以下方式进行指定:

添加 HTML "元字符集 "标签,例如

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